Linux Shell 腳本中括號類型及用途示例小結(jié)
1. 圓括號()
用途:用于命令分組或子shell執(zhí)行。
示例:
( command1; command2 ) # 在子shell中執(zhí)行命令,不影響當(dāng)前環(huán)境 result=$(command) # 命令替換,將命令輸出賦值給變量
數(shù)學(xué)運算(需配合 $(( ))):
echo $(( 5 + 3 )) # 輸出8
2. 花括號{}
用途:用于代碼塊、變量擴展或序列生成。
示例:
{ command1; command2; } # 在當(dāng)前shell執(zhí)行代碼塊(注意末尾分號和空格)
echo {1..5} # 輸出1 2 3 4 5(序列生成)
echo ${var:-default} # 變量擴展,若var未定義則返回default注意:
- 代碼塊末尾需有分號和空格。
- 變量擴展時避免與重定向沖突(如
${var}>file)。
3. 方括號[]和[[]]
單方括號 []:
- 等效于
test命令,用于條件測試。 - 需嚴(yán)格保留空格和運算符。
if [ "$a" -eq 5 ]; then # 數(shù)值比較
echo "a等于5"
fi雙方括號 [[]]:
- 更強大的條件測試,支持模式匹配和邏輯運算符(如
&&、||)。
if [[ "$str" == *"match"* ]]; then # 字符串模式匹配
echo "包含match"
fi4. 尖括號<>
用途:主要用于重定向。
示例:
command < input.txt # 輸入重定向 command > output.txt # 輸出重定向 command 2> error.log # 錯誤輸出重定向
5. 雙圓括號(())
用途:專門用于算術(shù)運算。
示例:
(( count++ )) # 變量自增
if (( a > b )); then # 數(shù)值比較
echo "a大于b"
fi常見問題及注意事項
- 空格要求:
[]和[[]]內(nèi)必須保留空格(如[ "$a" -eq 1 ]),而(())和$(())不需要。 - 字符串比較:在
[[]]中使用==或!=進行模式匹配,[]中需用=或-eq。 - 變量引用:在
[]中引用變量需加雙引號(如"$var"),避免空值錯誤。
總結(jié)
- ():子shell執(zhí)行或數(shù)組初始化。
- (( )):算術(shù)運算與邏輯判斷。
- []:基礎(chǔ)條件測試。
- [[]]:高級條件測試(支持通配符)。
- {}:序列擴展、變量操作。
- $():命令輸出捕獲。
- $(( )):算術(shù)結(jié)果捕獲。
到此這篇關(guān)于Linux Shell 腳本中括號類型及用途示例小結(jié)的文章就介紹到這了,更多相關(guān)linux shell括號內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux shell查找文件顯示行號和對應(yīng)區(qū)間的內(nèi)容
今天小編就為大家分享一篇關(guān)于Linux shell查找文件顯示行號和對應(yīng)區(qū)間的內(nèi)容,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12
使用ntpdate工具校正linux服務(wù)器時間(實現(xiàn)方法)
下面小編就為大家?guī)硪黄褂胣tpdate工具校正linux服務(wù)器時間(實現(xiàn)方法)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
touch shell腳本并修改為777權(quán)限的方法
這篇文章主要介紹了touch shell腳本并修改為777權(quán)限的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06
shell查找當(dāng)前目錄下大于1M的文件的三種方法分享
查找當(dāng)前目錄下大于1M的文件的三種方法,有需要的朋友可以參考下2013-02-02
linux shell在while中用read從鍵盤輸入的實現(xiàn)
下面小編就為大家?guī)硪黄猯inux shell在while中用read從鍵盤輸入的實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01

