# 当在一行上有多个操作时,需要用命令分割符 分号 ; 隔开,比如 echo a; echo b
# 分号是用来隔断每个语法关键字或命令
# if 用法
#!/bin/bash if [ 1 = 1 ] # 注意空格不能少,少了就报错 1=1是赋值 1 = 1 是比较 而且中括号跟表达式之间也有空格,少了也报错 then echo true else echo false fi
# 也可以这样表示
#!/bin/bash if [ 1 = 1 ]; then echo true; echo correct else echo false; echo incorrect fi
# 也可以全部扔到一行上 风格太丑,不用
#!/bin/bash if [ 1 = 1 ]; then echo true; echo correct; else echo false; echo incorrect; fi
其实[] 就是test 命令的简写方式
# for循环需要两层括号
#!/bin/bash for((i=1;i<=10;i++)) do echo $i done
# 或者这样 do放到一行上
#!/bin/bash for((i=1;i<=10;i++)); do echo $i done
# for in 用法
#!/bin/bash for i in 'ab bbb' b c; do # 不需要括号包起来,不需要逗号隔开,用空格分隔 带空格的字符串用单/双引号引起来 echo $i done
# while 用法
#!/bin/bash i=10 while [[ $i -gt 5 ]]; do # [[]] 是正确判断条件写法 上面提到过[]是test的简写 echo $i ((i--)) done
# until 用法
# 意思是当条件满足就退出,否则就执行语句, 感觉比较另类
#!/bin/bash i=10 until [[ i -lt 0 ]]; do echo $i ((i--)) done
# case 用法
#!/bin/bash read i case $i in a) echo it is a ;; b) echo it is b ;; c) echo it is c ;; d|e) echo it is d or e ;; [fgh]) echo it is f or g or h ;; [i-l]) echo it is i-l ;; ?) echo it is single unit ;; *) echo other esac
# * 任意字串, ? 任意单个字符, [abc] a, b, 或c三字元其中之一, [a-n] 从a到n的任一字元 ,| 多重选择 或者的意思
# select 用法
# select 一般和case配合使用,会出现一个菜单,提示选择前面的数字,而且如果没有退出的话,会继续提示选择,如图。
#!/bin/bash select i in a b c do case $i in a) echo aaa exit ;; b) echo bbb ;; c) echo ccc ;; *) echo other ;; esac done
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/3599.html