一、if内的判断条件为逻辑运算:shell
二、if内的判断条件为目录是否存在,文件是否存在,下图先检验目录/home/monster是否存在,而后再检测/home/monster中的file.txt文件是否存在,这里须要注意的是在进行文件目录是否存在一类的判断时,只能使用"[]"括号。“()”括号通常仅用于算数运算。固然,在一个if中能够存在多个判断条件,用-a(与)或者-o(或)连起来,不过这里须要特别注意的是,shell和C/C++,JAVA是不一样的,它在一个if中的全部判断条件都会执行到,而不是像C语言里,若是两个判断条件相与,第一个条件错了,那么第二个条件便再也不执行。所以对于shell应该特别当心,避免没必要要的错误blog
三、相等的判断,这里须要注意的是,若比较符号为"-eq"则为算数比较,若为“=”或者“==”则比较两个字符是否相同,以下所示:it
四、while循环的使用以下图所示,当判断条件用"(( ))"围起来的时候,里面能够进行算数逻辑判断,若是判断文件是否存在之类则须要使用"[ ]",固然while以后也能跟命令进行判断。这里须要注意的是,若是while后面跟命令进行判断,则命令执行返回的结果非零则跳出循环,而"(( ))"的判断条件是为零跳出循环。所以,想要程序无限循环,则使用语句while (( 1 ))...便可for循环
五、shell里面的for循环以下图所示,显然,和C语言的表示方式差很少,不过是单括号变成了双括号而已file
六、浮点数的for循环,其实和整数相似,不过是起点,终点,累加值都变为浮点数而已,其中seq每隔0.1产生一个新的数字,占据一行,而后fp依次从中取数循环
七、shell里面的case语句至关于C语言中的switch语句,须要注意的是,shell中用两个分号表示break语句,并且default语句用通配符“*"表示。固然,和switch同样,没有双分号,则程序会继续往下执行而不是自动跳出程序