括弧的種類 小括弧,圓括弧 ( ) 中括弧,方括弧 [ ] 大括弧、花括弧 { } 一、單小括弧 () 1.另開命令組——小括弧中的命令將會新開啟一個子shell獨立順序運行,所以括弧中的變數不能夠被腳本餘下的部分使用。括弧中多個命令之間用分號隔開,最後一個命令不需要分號,各命令和括弧之間無空格。 ...
括弧的種類
- 小括弧,圓括弧 ( )
- 中括弧,方括弧 [ ]
- 大括弧、花括弧 { }
一、單小括弧 ()
1.另開命令組——小括弧中的命令將會新開啟一個子shell獨立順序運行,所以括弧中的變數不能夠被腳本餘下的部分使用。括弧中多個命令之間用分號隔開,最後一個命令不需要分號,各命令和括弧之間無空格。
#!/bin/bash (echo "error"; ls; pwd; exit)
2.得到命令輸出——a=$(command), 等同於a=$`command`,shell掃描一遍命令行,發現了$(command)結構,便將$(command)中的command執行一次,得到其標準輸出,再將此輸出放到原來命令。得到命令輸出傳遞給變數a。簡言之:$(command)執行命令,並返回命令的執行結果。
#!/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語言規則的運算符,表達式。
[root@localhost ~]# echo $((6-3)) # 結果:3
2.可以進行算數運算、比較,可以進行邏輯運算。((expression)):expression可以是任意的數學賦值或比較表達式。
#!/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.跨進位運算——二進位、八進位、十六進位運算時,輸出結果全都自動轉化成了十進位。
#!/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