2026年01月21日/ 浏览 8
1:命名规则
命名只能使用字母,数字,下划线,其中不能以数字开头
中间不能有空格,下划线可以
不能使用标点符号
不能使用bash关键字
2:变量
my_father=“liming”[赋值] echo $my_father 【调用】
将10赋值给a,
readonly a 将a设置为只读变量,
echo $a 调用a
unset a 删除变量a ,系统提示:只读变量
b为一个数组
echo ${b[1]} 表示打印数组的第二个元素
echo ${b[*]}和echo ${b[@]}表示打印数组中的所有元素
注意定义单个数组例如: a[0]=1 表示将数值1赋值给数组a的第一个元素
字符串拼接my_father="xiaoming" # 将xiaoming赋值给my_father msg1="hello,$my_father" # 拼接字符串 echo $msg1 # 输出拼接后的字符串 hello,xiaoming控制语句if语句if condition then command else condition then command fi比较两个数字大小
a=10 b=20 if [$a -gt $b] ; then echo "winner";else [$a -lt $b] ; then echo "loser" ; fi其中 -gt 是大于的意思,-lt是小于的意思
详细可查看公众...........
for循环 for var in item1 item2.... do command .... done详细可查看公众...........
while循环while condition do command donewhile read line ; do echo $line ; done<tmp.sh详细可查看公众号...........tester阿飞,回复【shell】就可获得
read命令从终端或者文件读取输入的内部命令,整行读取,不读取行末换行符
read var 读取单个变量 read var1 var2 var3 读取多个变量,变量之间使用空格分开注意:如果使用read 不指定变量名传递参数,参数会被存储到指定变量REPLY下
注意大小写
脚本参数传递$0 脚本名称
$1-$n 获取参数
$# 传递到脚本的参数的个数
$$ 当前运行脚本的进程id号
$* 显示所有参数
$? 显示最后的退出状态 0表示正常,其他都表示错误
基本运算加法 expr $a + $b 减法 `expr $a - $b` 乘法 `expr $a \* $b` 除法 `expr $a / $b` 取余 `expr $a % $b` 赋值 a=$b 表示把b的值赋值给a 相等 [$a==$b] 返回一个布尔类型 不等 [$a!=$b] 返回一个布尔类型 判断相等 [$a -eq $b ] 返回一个布尔类型 判断不相等 [$a -ne $b] 返回一个布尔类型 判断大于等于 [$a -ge $b] 返回一个布尔类型 判断小于等于 [$a -le $b] 返回一个布尔类型 判断大于 [$a -gt $b] 返回一个布尔类型 判断小于 [$a -lt $b] 返回一个布尔类型注意:条件表达式要放在方括号([])内,并且要有空格,例如:比较变量a和b是否相等[ $a == $b ]
使用expr做运算时乘法运算*必须加转义符\,才能实现乘法运算;使用[]则不需要转义
扩展
curl命令发送get请求 【默认get方法】
curl -G https://www.baidu.com 获取百度页面发送post请求
curl -X POST https:// www.baidu.com 指定post请求 curl -o +路径文件名称 +url 将返回信息保存到指定路径 curl -v 显示传输的详细信息 curl -d 指定请求数据jq json提取器帮助文档: http://linux.51yip.com/search/jq
[ { "code": "4401", "lat": 23.422825, "lon": 113.30765, "name": "广州市" }, { "code": "4402", "lat": 24.80296, "lon": 113.59446, "name": "韶关市" } ]上面是一组json数据,如果我们想要提取所有数据,假如数据放在test.json
使用jq . test1.json就能提取到所有的数据
使用jq .[1] test1.json就能提取到第二组数据
使用jq .[1].code 提取到第二组数据code的值
jq .[1]>test2.json test1.json 将文件重定向到test.json
jq [.code,.name] test2.json 将数据转成了数组
更多有关jq的使用技巧请查阅:DevDocs — jq documentation