Shell腳本中的分號使用

在Linux中,語句中的分號通常用做代碼塊標識shell

一、單行語句通常要用到分號來區分代碼塊,例如:spa

if [ "$PS1" ]; then echo test is ok; fi
test is ok

該腳本或命令行中,須要兩個分號才爲正確的語句,第一個分號是then前的分號,用於標識條件塊結束,第二個分號在fi前,用於標識then塊結束,若是缺乏這兩個分號,則程序執行錯誤。.net

這裏有趣的是echo後的字符串不須要使用引號也能正確地被識別。命令行

注意:語句結尾不要分號。code

二、該代碼若寫做多行,用換行符來區分代碼塊,則無需用到分號,例如:blog

if [ "PS1" ]
> then echo "test is ok"
> fi
test is ok

從這個例子可看出if判斷語句分if塊,then塊,fi結束標識。固然還有可能有else if塊,例如:字符串

if [ "$PS1" ]
> then echo test is ok
> elif [ "$PS2" ] 
> then echo here
> fi
test is ok

注意:這裏要使用elif,而不使用esle if,若使用else if,則爲不完整語句,以下面的例子不能被正確執行:get

if [ "$PS1" ]
> then echo test is ok
> else if [ "$PS2" ] 
> then echo here
> else
> echo ""
> fi
> 

敲回車後,shell程序認爲句子沒有完成,繼續等待輸入。class

總結:test

若是寫成單行,須要用分號進行區分,若是寫成塊,那麼則用換行符替代了分號。

 

參考:

http://blog.csdn.net/hongweigg/article/details/32081235(以上內容轉自此篇文章) 

相關文章
相關標籤/搜索