初學shell條件判斷語句[ ]時,發現總出現錯誤,經過仔細檢視,發現了[ ]前後都有空格的。往回看了看,發現賦值跟比較語句也是有這個空格的區別的,遂在網上搜了搜,看是否哪些命令有空格的區別,摘錄如下
1: 定義變數時, =號的兩邊不可以留空格
eg:gender=femal------------right
gender =femal-----------wrong
gender= femal-----------wrong
2條件測試語句 [ 符號的兩邊都要留空格.
eg:if [ $gender = femal ]; then-------right.
echo "you are femal";
fiif[ $gender...-----------------------wrong
if [$gender...----------------------wrong.
3條件測試的內容,如果是字串比較的話, 比較符號兩邊要留空格!
eg:if [ $gender = femal ]; then-------right.
if [ $gender= femal ]; then--------wrong.
if [ $gender=femal ]; then---------wrong.
4如果if 和 then寫在同一行, 那麼,注意, then的前面要跟上 ; 號.
如果 then 換行寫, 那麼也沒問題.
eg:if [ $gender = femal ]; then-------right.
if [ $gender = femal ]
then-------------------------------right.
if [ $gender = femal ] then-------wrong. then前面少了 ; 號.
提示出錯資訊:
syntax error near unexpected token then
同理,還有很多出錯資訊 比如
syntax error near unexpected token fi 等都是這樣引起的.
初學shell指令碼程式設計注意空格問題
shell程式設計就是利用shell的功能所寫的乙個程式,這個程式是使用 純文字檔案 將一些shell的指令寫在裡面,然後用正規表示法,管道命令以及資料流重導向等功能,以達到我們所想要的處理目的。我們使用到shell有bash,sh,csh,ksh常用的是bash。我們舉個例子來說吧 bin bas...
shell指令碼 空格
eg gender femal right gender femal wrong gender femal wrong eg if gender femal then right.echo you are femal fiif gender.wrong if gender.wrong.eg if g...
初學shell筆記
後記花了1天時間學了shell語法,順手記錄下幾個注意點,忘的時候,可以快速回憶起來 這是個弱語言,部分語法跟php類似,可模擬記憶 參考菜鳥教程 注 這份教程,講的不是很細,很多注意點沒拎出來說,直接貼出來了 不太容易get到易錯點的 但是對於新手系統的初步了解shell語法是夠的,但是一定要邊看...