- List item
特殊变量列举:
-eq //equals等于
-ne //no equals不等于
-gt //greater than 大于
-lt //less than小于
-ge //greater equals大于等于
-le //less equals小于等于
- List item
1、在shell中进行比较时,结果为0代表真,为1代表假。
2、-eq,-ne等比较符只能用于数字比较,有字符也会先转换成数字然后进行比较。
3、用于存储上一个命令的执行状态。当一个 shell 命令执行完毕后,它会返回一个状态值,表示该命令执行的结果。$? 变量会自动保存该状态值,以便后续的脚本代码可以根据该状态值来判断命令是否执行成功。
状态值是一个整数,它的取值范围通常为 0 到 255。其中,状态值为 0 表示命令执行成功,而非零状态值则表示命令执行失败或出现错误
举例:
if [ $# -eq 2 ] #判断参数个数为2
if [[ "$3" = "y" ]] ; then #判断参数3是否等于y
DEV=$4
./bash $DEV #参数4赋值给DEV DEV作为bash的 参数
ret=$? #bash的运行结果传给ret
- List item
for循环
DIR="aaa bbbb ccc"
for dir in ${DIR} #循环切入aaa bbbb ccc3个目录,执行各自目录重的bash
do
cd $dir
chmod +x ./zoo
./bash $1
ret=$?
cd -
done
#语法
for 变量 in 值1 值2 值3 值4 ...
do
程序
done