
Shell
文章平均质量分 66
小小考拉123
学无止境
展开
-
Shell脚本之免交互操作
目录一、Here Document免交互1.1免交互定义1.2语法格式1.3实例示例1:使用 wc -l 命令后面直接跟文件名就可以统计文件内有多少行内容,将要统计的内容置于标记“EOF” 之间,直接将内容传给 wc -l 来统计。示例2:通常使用 read 命令接收用户的输入值时会有交互过程,在EOF两个标记间可以输入变量值示例3:使用 passwd命令设置密码1.4Here Document 变量设定示例1:在写入文件时会先将变量替换成实际值,再结合cat 命令完成写原创 2021-10-28 23:25:15 · 4491 阅读 · 0 评论 -
Shell脚本文本三剑客之AWK
一、AWK工具介绍 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具 可以在无交互的模式下实现复杂的文本操作 相较于sed常作用于一整个行的处理,awk则比较倾向于一行当中分成数个字段来处理,因为awk相当适合小型的文本数据。 1.1AWK命令的基本格式awk [选项] ‘模式条件{操作}’ 文件1 文件2...awk -f|-v 脚本文件 文件1 文件.....1.2AWK工作原理 前面提到sed命令常用于一整行的处理,而awk比较倾向于将原创 2021-10-28 00:28:36 · 4424 阅读 · 0 评论 -
Shell脚本文本三剑客之Sed
一、Sed编辑器1.1Sed概述 sed编辑器时一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。 sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要存储在一个命令文本文件中。 1.2Sed工作流程sed 的工作流程主要包括读取、执行和显示三个过程: 读取:sed 从输入流(文件、管道、标准输入)中读取一行内容并存储到临时的缓冲区中(又称模式空间,pattern space)。 执行:默认情况下,所有的sed 命令都在模式空原创 2021-10-26 23:19:15 · 5292 阅读 · 2 评论 -
Shell脚本之正则表达式详解
一、常见的管道命令1.1sort命令 sort命令可针对文本文件的内容,以行为单位来排序。 格式:sort [选项] 参数 常用选项: 选项 说明 -f 忽略大小写,会将小写字母都转换为大写字母来进行比较 -b 忽略每行前面的空格 -n 按照数字进行排序 -r 反向排序 -u 等同于uniq,表示相同的数据仅显示一行 -t 指定字段分隔符,默认使用[Tab]键分隔 -k 指定排序字段 -o<原创 2021-10-26 22:56:03 · 4749 阅读 · 0 评论 -
Shell脚本之函数及数组
一、函数1.1函数的作用 语句块定义成函数约等于别名,定义函数,再引用函数 封装的可重复利用的具有特定功能的代码 1.2函数的基本格式法一:[function] 函数名 (){ 命令序列 [return x] #使用return或者exit可以显式的结束函数}法二:函数名(){ 命令序列}1.3函数注意事项1.直接写函数中调用2函数直接写函数名同名函数后一个生效3.调用函数一定要先定义4.只要先定义了调用的其他函数定义顺序无原创 2021-10-25 19:37:33 · 4338 阅读 · 0 评论 -
Shell脚本之循环语句(for、while、until)
一、echo命令echo -n 表示不换行输出echo -e 输出转义字符,将转义后的内容输出到屏幕上常见转义字符:转义符 号 含义 -n 表示不换行输出 \e 输出转义字符,将转义后的内容输出到屏幕上 \b 转义后相当于按退格键,但前提是b后面存在字符: b表示删除前一个字符,\b\b表示删除前两个字 符 \c 不换行输出,当\c后面存在字符时,后面的字符不会被输出 \n 换行,被输出的字符从\n除开始另起一行 \f或\v原创 2021-10-25 19:27:27 · 4454 阅读 · 0 评论 -
Shell脚本之打印99乘法表(两种方法)
法一:#!/bin/bashn=1while [ $n -lt 10 ]do for ((m=1;m<=$n;m++)) do echo -n -e "${m}x${n}=$[m*n]\t" doneechon=$((n+1))done法二:#!/bin/bashfor j in {1..9}dofor i in `seq $j`doecho -e -n "${i}x${j}=$[ $i * $j ]\t"doneechod.原创 2021-10-21 14:17:59 · 14610 阅读 · 1 评论 -
Shell脚本小游戏之猜数字(1-9)
代码块:#!/bin/bashpc=`echo $[RANDOM%9+1]`count=0while truedoread -p "请输入一个数字(1-9):" numlet count++if [ $pc -eq $num ]then echo "恭喜你猜对啦" echo "你一共猜了$count次" exit 1elif [ $pc -gt $num ]then echo "你猜少了,再猜一下哦"else echo "你猜的有点多了,请再猜一下吧"原创 2021-10-21 14:03:16 · 6554 阅读 · 0 评论 -
Shell脚本之求1..100的和(三种方法)
1.for循环#!/bin/bashsum=ofor ((i=0;i<=100;i++))do sum=$[sum+i]doneecho "100以内的求和:$sum"2.while循环#/bin/bashi=1sum=0while [ $i -le 100 ]do sum=$[sum +i] let i++doneecho "{1..100}的求和结果为:$sum"3.until循环#!/bin/bashi=0...原创 2021-10-21 13:48:48 · 23808 阅读 · 0 评论 -
Shell脚本小游戏:石头剪刀布
脚本代码:#!/bin/bashecho "接下来的是石头剪刀布的游戏"echo "定义1:包子;2:剪刀;3:布"echo "------------------------------"NUM=`echo $[RANDOM%3+1]`#1=包子#2=剪刀#3=布read -p "请输入1-3:" keycase $key in[1])if [ $NUM -eq 1 ] then echo "你们打成平局"elif [ $NUM -eq 2 ] then.原创 2021-10-20 14:46:15 · 4625 阅读 · 0 评论 -
Shell中那些括号的含义
单引号:强引用,六亲不认,变量和命令都不识别,都当成了普通的字符串,"最傻" 双引号:弱引用,不能识别命令,可以识别变量,"半傻不精" 反向单引号:里面的内容必须是能执行的命令并且有输出信息,变量和命令都识别,并且会将反向单引号的内 容当成命令进行执行后,再交给调用反向单引号的命令继续,"最聪明 引用变量${} 命令执行结果$() 运算$[] $(())$() 或 ``引用命令执行的结果$(()) 或$[]进行运算使用${}或"$变量名" 划定变量名的起止范围...原创 2021-10-20 14:40:26 · 4133 阅读 · 0 评论 -
Shell脚本之条件测试、if、case条件测试语句
一、条件测试1.1test命令测试特定的表达式是否成立,当条件成立,测试语句的返回值为0,否则为其他数值 。格式:test 条件表达式或 [ 条件表达式 ] (条件表达式的两边都需要有空格,且此方法更为常用)1.2文件测试1.2.1文件测试常见选项常见的测试操作符 含义 -d 测试是否为目录(directory) -e 测试目录或文件是否存在(Exist) -f 测试是否为文件(File) -r 测试当前用户是否有权限读取(Re原创 2021-10-20 14:31:45 · 4375 阅读 · 0 评论 -
Shell编程规范及变量
目录一、Shell脚本编程概述1.1Shell的作用1.1.1Shell基本概念1.1.2Shell脚本应用场景1.1.3Shell作用——翻译官1.1.4linux中有哪些Shell1.1.4 为什么系统上合法的Shel1要写入/etc/she1ls这个文件1.1.5 用户什么时候可以取得shell来工作?用户默认会取得哪一个shell?1.2Shell编程规范1.2.1编写脚本规范1.2.2Shell脚本执行方法1.2.3命名要求1.2.4脚本错误原创 2021-10-19 15:58:19 · 4892 阅读 · 0 评论