- 多行注释
#!/bin/bash :<<EOF echo "Hello World" EOF echo "OK" 运行结果:OK
- $* 与 $@ 区别:
相同点:都是引用所有参数。 不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)。 - Shell基本运算符
#原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。 #expr 是一款表达式计算工具,使用它能完成表达式的求值操作。 #例如,两个数相加(注意使用的是反引号 ` 而不是单引号 '): #!/bin/bash a=10 b=20 val=`expr $a + $b` echo "a + b : $val" val=`expr $a - $b` echo "a - b : $val" val=`expr $a \* $b` echo "a * b : $val" val=`expr $b / $a` echo "b / a : $val" val=`expr $b % $a` echo "b % a : $val" if [ $a == $b ] then echo "a 等于 b" fi if [ $a != $b ] then echo "a 不等于 b" fi
注:变量赋值等号两端是没有空格的!!!
- if语句
if condition then command1 command2 ... commandN fi
-
for循环
for var in item1 item2 ... itemN do command1 command2 ... commandN done
- while语句
while condition do command done
- until循环(直到条件满足才退出循环)
# until condition # do # command # done #!/bin/bash a=0 until [ $a == 10 ] do echo $a a=`expr $a + 1` done
- case语句(类似于switch-case语句)
case 值 in 模式1) command1 command2 ... commandN ;; 模式2) command1 command2 ... commandN ;; esac ##跟if语句一样,倒叙作为结束符
echo '输入 1 到 4 之间的数字:' echo '你输入的数字为:' read aNum case $aNum in 1) echo '你选择了 1' ;; 2) echo '你选择了 2' ;; 3) echo '你选择了 3' ;; 4) echo '你选择了 4' ;; *) echo '你没有输入 1 到 4 之间的数字' ;; esac
【Bash Shell】从零开始02
最新推荐文章于 2023-03-30 21:21:34 发布