關於shell script案例學習

2021-06-20 02:36:40 字數 788 閱讀 7691

測試指令碼程式如下:

sh-3.2# cat ./test.sh

if [ -f /etc/passwd ]; then

#echo 111-------->@1

fiecho 222-------->@2

sh-3.2#

執行此指令碼程式,

sh-3.2# ./test.sh

./test.sh: line 3: syntax error near unexpected token `fi'

./test.sh: line 3: `fi'

sh-3.2# echo $?

2sh-3.2#

由於某些原因,注釋掉了@1,從而導致指令碼執行出錯了;

而出錯的結果就是指令碼後面的語句都不會被執行了。

實際狀況發生在開機指令碼中,想當然的注釋掉@1,

從而導致系統開機程式沒有被執行,發生重大的程式錯誤。

無論是哪種語言最終都需要翻譯成計算機能夠理解的機器語言,這樣計算機才能執行程式。

翻譯的方式有兩種:

一種是編譯,這就是編譯型語言,如c語言等;

一種是解釋,是在需要執行程式的時候再去翻譯,比如linux shell等。

編譯型語言經過了編譯器的優化,所以執行效率高;

解釋型語言則是簡單、方便、利於使用和管理。

通常在大型程式開發中,可能會根據需要同時使用多種語言開發不同的模組。

以上述遇到的問題來看,需要注意和改進的有:

1. 對shell語法要有所了解;

2. 實際的程式開發中一定要做好測試,不要盲目自信。

Shell Script控制語句

在shellscript中,條件的測試判斷可以通過test或 命令實現。如判斷檔案是否存在的語句可寫為if test f test.sh或if f test.sh 使用 命令時符號與條件之間需要留出空格。下面列出字串比較 算術比較 檔案條件測試的一些用法。字串比較 結果string1 string2...

shell script 準備知識

一.script的撰寫與執行 1 shell script 撰寫注意事項 多個空白會被忽略掉 tab 也會忽略掉 讀取enter符號 cr 就嘗試執行該命令 一行內容太多可以用 enter 來延伸到下一行 作為批註,後邊的文字被忽略掉 2 shell script的執行 1 加入可執行許可權,chm...

Shell Script 常用模板

某個命令執行出錯即退出 開頭寫為 bin bash set e某個命令執行出錯繼續執行 shell指令碼開頭寫為 bin bash set e獲取當前目錄workpath cd dirname pwd 按日迴圈執行startdate 1 enddate 2 while startdate le en...