Calvin's Tech Space

          成于堅忍,毀于浮躁

             :: 首頁 :: 聯系 :: 聚合  :: 管理
          錯誤原因之一很有可能是你的腳本文件是DOS格式的, 即每一行的行尾以\r\n來標識, 其ASCII碼分別是0x0D, 0x0A.
          可以有很多種辦法看這個文件是DOS格式的還是UNIX格式的, 還是MAC格式的
          (1). vi filename
          然后用命令
          :set ff?
          可以看到dos或unix的字樣. 如果的確是dos格式的, 那么你可以用set ff=unix把它強制為unix格式的, 然后存盤退出. 再運行一遍看.
          (2). 用joe filename
          如果是DOS格式的, 那么行尾會有很多綠色的^M字樣出現. 你也可以用上述辦法把它轉為UNIX格式的.
          (3). 用od -t x1 filename
          如果你看到有0d 0a 這樣的字符, 那么它是dos格式的, 如果只有0a而沒有0d, 那么它是UNIX格式的, 同樣可以用上述方法把它轉為UNIX格式的.

          轉換不同平臺的文本文件格式可以用
          1. unix2dos或dos2unix這兩個小程序來做. 很簡單. 在djgpp中這兩個程序的名字叫dtou和utod, u代表unix, d代表dos
          2. 也可以用sed 這樣的工具來做:
          sed 's/^M//' filename > tmp_filename
          mv -f tmp_filename filename
          來做
          說明:^M并不是按鍵shift + 6產生的^和字母M, 它是一個字符, 其ASCII是0x0D, 生成它的辦法是先按CTRL+V, 然后再回車(或CTRL+M)
          posted on 2010-06-30 13:26 calvin 閱讀(5788) 評論(1)  編輯  收藏 所屬分類: Linux

          Feedback

          # re: shell /bin/bash^M: bad interpreter錯誤解決 2011-02-28 09:16 ssss
          謝謝人民,謝謝上帝,謝謝您,很有幫助。  回復  更多評論
            

          主站蜘蛛池模板: 云和县| 当涂县| 乐安县| 北京市| 津南区| 南阳市| 蓬莱市| 连城县| 安徽省| 富锦市| 大同市| 温宿县| 商洛市| 信阳市| 桦川县| 宜兰县| 邓州市| 新营市| 姜堰市| 义马市| 翼城县| 台州市| 新安县| 施秉县| 水富县| 广汉市| 普安县| 加查县| 凌源市| 晋城| 克山县| 荣成市| 博兴县| 津市市| 新乡市| 临漳县| 岗巴县| 安乡县| 保德县| 清远市| 灯塔市|