1. 程式人生 > 其它 >Shell—各種括號的用法

Shell—各種括號的用法

括號的種類

  • 小括號,圓括號 ( )
  • 中括號,方括號 [ ]
  • 大括號、花括號 { }

一、單小括號 ()

1.另開命令組——小括號中的命令將會新開啟一個子shell獨立順序執行,所以括號中的變數不能夠被指令碼餘下的部分使用。括號中多個命令之間用分號隔開,最後一個命令不需要分號,各命令和括號之間無空格。

1 2 #!/bin/bash (echo "error"lspwdexit)

2.得到命令輸出——a=$(command), 等同於a=$`command`,shell掃描一遍命令列,發現了$(command)結構,便將$(command)中的command執行一次,得到其標準輸出,再將此輸出放到原來命令。得到命令輸出傳遞給變數a。簡言之:$(command)執行命令,並返回命令的執行結果。

1 2 3 #!/bin/bash isPy27=$(python -V 2>&1 | grep '2.7.') echo $isPy27   # 結果:Python 2.7.5

3.用於初始化陣列——array=(a b c d)。

二、雙小括號 (( ))

1.C語言規則運算——$((exp)),exp為符合C語言規則的運算子,表示式。

1 [root@localhost ~]# echo $((6-3))      # 結果:3

2.可以進行算數運算、比較,可以進行邏輯運算。((expression)):expression可以是任意的數學賦值或比較表示式。

1 2 3 4 5 6 7 8 9 10 11 12 13 #!/bin/bash   for ((num=0; num<30; num++)); do if (($num <= 10 & $num >= 0)); then     echo $num elif (($num <= 20 & $num > 10));then     echo "大於10小於20" else     a=5; ((a++)); ((b=$a+20))     echo $a,$b fi done

3.跨進位制運算——二進位制、八進位制、十六進位制運算時,輸出結果全都自動轉化成了十進位制。

1 2 3 4 #!/bin/bash echo $((2#11))       # 結果:3   (2進位轉十進位制) echo $((8#32))       # 結果:26  (8進位轉十進位制) echo $((16#5f))      # 結果:95  (16進位轉十進位制)

三、單中括號 []

四、雙中括號 [[ ]]

五、大括號

https://www.cnblogs.com/qlqwjy/p/8684630.html

https://blog.csdn.net/LinearF/article/details/81388568

https://blog.csdn.net/wllinux12138/article/details/82693079

https://www.cnblogs.com/weizhixu/p/10120420.html

https://www.jianshu.com/p/a709e6d52898