shell 語言作為類 unix 系統的原生指令碼,有著非常實用的價值。但對於很多剛剛接觸 shell 指令碼的同學來說,搞懂 shell 語言的語法卻是一件非常困難的事情。甚至有人吐槽,或許沒有誰能清楚地說明白 shell 的語法。好了廢話不多說,下面就是for迴圈和while迴圈啦!
for迴圈
shell的for迴圈與c、php等語言不同,同python很類似。下面是語法格式:
for 變數 in 列表
docommand1
command2
…commandn
done
示例:#!/bin/bash/
for value in 1 2 3 4 5
doecho 「the value is $value」
done
the value is 1
the value is 2
the value is 3
the value is 4
the value is 5
順序輸出字串中的字元:
for str in 『this is a string』
doecho $str
done
while迴圈
只要while後面的條件滿足,就一直執行do裡面的**塊。
其格式為:
while command
dostatement(s) to be executed if command is true
done
命令執行完畢,控制返回迴圈頂部,從頭開始直至測試條件為假。
示例:複製**
#!/bin/bash
c=0;
while [ $c -lt 3 ]
doecho 「value c is $c」
c=expr $c + 1
done
複製**
輸出:value c is 0
value c is 1
value c is 2
shell指令碼裡的變數
1 在命令列中和指令碼中,變數定義得格式 name value 左右兩邊不能有空格,否則會當做命令來對待,輸出乙個command not found echo name echo 列印出變數,引用變數使用 name.2 單引號和雙引號 語法 和php中相同 雙引號仍然可以保有變數的內容,但單引號內僅...
shell指令碼裡的引號簡介
一 雙引號 使用雙引號可引用除字元 外的任意字元或字串 例 string hello world echo string print hello world echo string print hello world echo string print hello world echo 2 3 pr...
shell指令碼裡相互呼叫的方法
shell寫指令碼通常可以模組化,也可以功能化,例如test1.sh完成乙個獨立功能,test2.sh也完成乙個獨立的功能,但是需要test1.sh作為前提,因此為了節省執行時間,不是用crontab傻瓜似的等待,我們可以在test1.sh裡呼叫test2.sh執行,效率會更高,這裡僅僅介紹兩種在乙...