您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關linux下shell中各種括號的作用的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
單小括號()
但小括號常見的兩個作用:命令替換以及數組的初始化
命令替換
當碰到$()結構時,shell就把括號的內命令執行,并返回結果
# tmp=$(date) # echo $tmp Fri Sep 18 10:22:30 CST 2020
初始化數組
# 初始化數組 lnmp=(linux nginx mysql php)
雙小括號(())
記住雙括號有一個特點,就是括號內的要符合c語言的語法,使用變量名時不需要加上$符號的。
雙小括號的用法比較多,它可以用作整數計算(不支持小數)。例如:$((3+2))
# echo $((1+3)) 4 # n1=3 # echo $((n1+7)) 10
只要符合c語言語法的運算擴展,都可以寫在括號里
# echo $((3+4>5 ? 1 :0)) 1 # echo $((3+4>9 ? 1 :0)) 0
重新給變量賦值,這個時候不可在括號外加$符
# i=1;((i++));echo $i; 2 # i=1;((i=100));echo $i; 100
雙括號還經常用在for循環中
for ((i=0;i<5;i++));do echo -n $i;done
單方括號[]
單方括號最常見用于邏輯判斷中,另外它還可以作為數組的下標,以及在正則中表示一段范圍
shell腳本中用于條件判斷:
if [ 1 > 2 ] then …… fi
也可以作為數組下標:
# echo ${lnmp[1]} nginx
在正則中使用,表示一段范圍
[0-9] 表示數子0-9都行
雙方括號
和單括號一樣,雙方括號也用在條件判斷中,但它比單方括號更加的通用。下面舉一個例子:
[ a > b ] && [ a > 0 ]或[ a > b -a a > 0 ] 改成雙括號 [[ a > b && a > 0 ]]
單花括號{}
花括號拓展。(通配(globbing))將對花括號中的文件名做擴展。在大括號中,不允許有空白,除非這個空白被引用或轉義。
比如輸入命令 rm -f {1,2}.txt將刪除1.txt和2.txt文件。
單花括號中..的作用
兩個點在這里表示一段范圍的意思。比如
echo {1..10} #將打印1,2,3,4,5,6,7,8,9,10
花括號還常用在shell腳本里,用于代碼塊。
初次之外,單花括號還可以用作變量內容的替換和刪除以及變量內容的測試,給出一個常見的例子。我們常常會判斷一個變量是否存在,如果不存在,則給該變量設置新值。
val=${n1:-test}
上面代碼表示如果n1這個變量不存在或為空,則將val變量值設置為test,否則val值為n1變量的值
感謝各位的閱讀!關于linux下shell中各種括號的作用就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。