notepad++寫shell語句時執行錯誤,notepadshell
覺得vi格式排班不是很好,用了notepad++
在一次調試shell語句的過程中發現,從notepad++文本拷貝出來的shell到Linux執行時,無任何錯誤!但是把notepad寫好的shell指令碼上傳到Linux系統調試時,報無法找到命令的錯誤!細想一下,問題根究肯定在Nodepad++上面,後尋找原因,原來是格式轉換的問題
臨時解決辦法:
永久解決辦法:
開啟在notepad++,設定,喜好設定
shell指令碼中case語句中變數值怎讀取,我寫了一個指令碼但是運行後,報錯
read CHOICE
case $CHOICE in
1) mountusb;;
2) umountusb;;
3) display;;
4) cpdisktousb;;
5) cpusbtodisk;;
0) quit;;
*) echo "Invalid Choice! Correct Choice is (0--5)"
sleep 4 clear;;
shell中的if語句邏輯錯誤
取變數值要用$符號(變數前加$)。
test=1
if [ $test -eq 1 ]; then
echo "test=1"
elif [ $test -eq 0 ]; then
echo "test=0"
else
echo "other"
fi
——————————————————————————————
補充:test 是一個用於測試運算式的shell內建命令,你定義的變數名正好與之相同。
你的這個指令碼在我這裡是會報語法錯誤的:[: test: integer expression expected
可能跟你使用的是什麼shell也有關係。
換成count,我這裡也提示法錯誤,[: count: integer expression expected
因為 -eq 用於整數的比較,所以指令碼期待這個操作符兩邊都是整數或整型運算式。
但我這邊確實報錯,就是不讓執行。請百度hi我,方便交流。