測試指令碼程式如下:
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...