shell script 学习笔记—–if,for,while,case语句

1、if内的论断标准也逻辑运算:

图片 1

2、if内之论断标准吧目录是否在,文件是否有,下图先查看目录/home/monster是否是,然后还检测/home/monster中之file.txt文件是否留存,这里要注意的凡在进行文件目录是否在一样近乎的论断时,只能采用”[]”括号。“()”括号一般才用于算数运算。当然,在一个if中可在多独判断标准,用-a(与)或者-o(或)连起来,不过这里要特别注意的凡,shell和C/C++,JAVA是见仁见智之,它当一个if中的所有判断标准都见面执行到,而非是如C语言里,如果少只判断标准相和,第一独条件错了,那么第二个原则就是不再实行。因此对shell应该特别小心,避免不必要的左

图片 2

3、相等的论断,这里用留意的凡,若于符号为”-eq”则也算数比较,若否“=”或者“==”则比有限只字符是否同样,如下所示:

图片 3

4、while循环的行使如下图所展示,当判断标准用”((
))”围起来的当儿,里面可以拓展算数逻辑判断,如果判断文件是否在之类则需用”[
]”,当然while之后呢能同命令进行判定。这里要小心的凡,如果while后面与命令进行判定,则下令执行回的结果莫零则跳出循环,而”((
))”的判定标准是为零星跳出循环。因此,想要先后太循环,则使用语句while ((
1 ))…即可

图片 4

5、shell里面的for循环如下图所展示,显然,和C语言的象征方法大多,不过大凡单括号改为了双括如泣如诉要曾

图片 5

6、浮点数的for循环,其实跟整数类似,不过大凡起点,终点,累加值都成为浮点数而已,其中seq每隔0.1起一个初的数字,占据一行,然后fp依次从中取数

图片 6

7、shell里面的case语句相当给C语言中之switch语句,需要留意的凡,shell中之所以单薄独分行表示break语句,而且default语句用通配符“*”表示。当然,和switch一样,没有双分号,则程序会延续往下实施要非是全自动跳出

图片 7