執行shell指令碼報錯 '\357\273\277': command not found 解決辦法,shell357
1,刪除BOM,在vi下面執行下面的命令即可
:set nobomb
2,原因:
所謂BOM,全稱是Byte Order Mark,它是一個Unicode字元,通常出現在文本的開頭,用來標識位元組序(Big/Little Endian),除此以外還可以標識編碼(UTF-8/16/32)
對於UTF-8/16/32而言,它們名字中的8/16/32指的是編碼單位是多少位的,也就是說,它們的編碼單位分別是8/16/32位,換算成位元組就是1/2/4位元組,如果是多位元組,就要牽扯到位元組序,UTF-8以單位元組為編碼單位,所以不存在位元組序。UTF-8主要的優點是可以相容ASCII,但如果使用BOM的話,這個好處就蕩然無存了,除此以外,BOM的存在還可能引發一些問題。所以要UTF-8編碼中BOM的檢測與刪除。
參考:http://huoding.com/2011/05/14/78
shell指令碼提示command not found
1. 關於command not found,這個是因為`PATH=`ls $RESULT | grep $FileName` 這裡的PATH,會將系統內容變數給覆蓋了。請把PATH,修改成Path或者mypath之類的單詞。
2. 確認你變數大小寫都是否正確,你定義的時候用的是FAULS,使用變數的時候是 $Fauls,導致 $Fauls這個變數為空白,那麼語句if [ $PATH == $Fauls ] 就相當於if [ $PATH == ]。
3. 在寫if [ $PATH == $Fauls ]這樣的語句時,請給變數打上雙引號,預防變數為空白時出現的語法錯誤“ line 13: [: too many arguments”。
shell指令碼編程,提示command not found
把全部代碼貼出來···你上面寫的根本就沒提到cal顯示年月的資訊··你突然說cal沒發現,看不明白···全貼出來我看看····