一、shell中数值运算及运算方式差异
1. expr数值运算工具:$(expr$1 + $2) +号两侧必须有空格
2. sh运行脚本后变量不在父程序内,source运行脚本时变量储存在父程序内
二、shell中的判断式及控制流程语句
1. 条件判断命令test:真返回0,假返回1
(1)可用中括号代替test,把表达式括起来实现判断
(2)表达式与中括号间有空格
(3)test -z s字符串长=0,即为空串
Test -n字符串长>0
2. 控制流程
(1)分支结构
if then fi
case in esac
(2)循环结构
for in
while
(3)read命令
-p 指定读取值时的提示符
如果输入的数据个数超了,则从左到右对应赋值,最后一个变量被赋予剩余的所有数据
三、shell中的函数
1. 函数由函数标题,函数体两部分组成
2. 参数可以传递给函数,并由脚本进行访问
四、shell数组
1. 关联数组:其可以使用任意的字符串作为下标(不必是整数)来访问数组元素
其下标和值成为键值对,键是唯一的,值可以不唯一
使用关联数组之前,需要使用命令declare –A array进行声明
2. 关联数组语法:${!array[*]}取关联数组所有键
${!array[@]}取关联数组所有键
${array[*]}取关联数组所有值
${array[@]}取关联数组所有值
${#array[*]} 关联数组的长度
${#array[@]}关联数组的长度