5. 控制结构
跳转到“5. 控制结构”if 语句
跳转到“if 语句”语法
if ....; then ....elif ....; then ....else ....fi示例:
#!/bin/bashnumber=10if [ $number -eq 10 ]; then echo "Number is 10."fi
[]条件测试,[]中前后⼀定要加空格。
for 循环
跳转到“for 循环”注意:bash shell 支持 C 式 for 循环
C 语言风格
#写法一for ((i=1; i<=100; i++))doecho $idone
#写法二for ((i=1; i<=100; i++)) do echo $idone
#写法三for ((i=1; i<=100; i++)) do echo $i;donePython 风格(in 的使用)
#!/bin/bashfor i in {1...5}; do #;必须有 echo "Number $i"doneSeq 的使用
#!/bin/bash# 注意代码中不是单引号for i in `seq 1 10`#或for i in $(seq 1 10)doecho $idonefor i in 的各种用法 :
for i in “file1” “file2” “file3”for i in /boot/*for i in /etc/*.conffor i in $(seq -w 10) --》等宽的01-10for i in {1..10}for i in $( ls )for I in $(< file)for i in “$@” --》取所有位置参数,可简写为for iwhile 循环
跳转到“while 循环”#!/bin/bashcount=1while [ $count -le 5 ]; do echo "Count: $count" ((count++))done在使用[ ]进行条件测试时,务必注意空格,如[ $a -eq $b ]是正确的,而[$a -eq $b]是错误的。
case 语句
跳转到“case 语句”name=`basename $0 .sh`case $1 in s|start) echo "start..." ;; stop) echo "stop ..." ;; reload) echo "reload..." ;; *) echo "Usage: $name [start|stop|reload]" exit 1 ;;esacexit 0