Shell 判断与循环
与众多开发语言一样,Shell同样支持循环方法和判断方法,本文主要介绍if……else和for\while循环等,其他方法如读者有兴趣可自行进行学习。
test
Shell then主要用于检测条件是否成立,主要分为如下测试方法:
测试方法
数值测试
1 2 3 4 5 6 7 8
| one=1 two=1 if test $[one] -eq $[two] then echo "相等" else echo "不相等" fi
|
| ID |
DA |
| -eq |
等于为真 |
| -ne |
不等于为真 |
| -gt |
大于为真 |
| -ge |
大于等于为真 |
| -lt |
小于则为真 |
| -le |
小于等于则为真 |
字符串测试
1 2 3 4 5 6 7 8 9
| one=1 two=1 if test $[one] = $[two] then echo "相等" else echo "不相等" fi
|
I/O 测试
1 2 3 4 5 6 7 8
| one=1 two=1 if test -e home.js then echo "存在" else echo "不存在" fi
|
| ID |
DA |
| -e |
文件存在为真 |
| -r |
文件可读为真 |
| -w |
文件可写为真 |
| -x |
文件可执行为真 |
| -d |
文件和目录存在则为真 |
| -f |
文件是普通文件则为真 |
| -c |
文件为特殊文件则为真 |
判断
判断的基本格式
1 2 3 4 5 6 7 8 9
| if [Requirement] then // code elif [Requirement2] then // code else // code fi
|
判断是否等于
1 2 3 4 5 6 7 8 9 10 11 12
| a=10 b=20
if [ $a == $b ] then echo "one 等于 two" elif [ $a != $b ] then echo "one 不等于 one" else echo "不符合预期" fi
|
循环
循环格式
for 循环
1 2 3 4
| for cycle_name in data do // code done
|
while 循环
1 2 3 4
| while Requirement do // code done
|
循环数值
for 循环
1 2 3 4
| for var in 1 2 3 4 5 6 7 8 9 do echo $var done
|
while 循环
1 2 3 4 5 6 7
| #! /bin/bash var="Good" while (( $var<=3 )) do echo $var let "$var++" done
|
⬅️ Go back