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
          謝謝人民,謝謝上帝,謝謝您,很有幫助。  回復  更多評論
            

          主站蜘蛛池模板: 嘉黎县| 凌源市| 莱芜市| 十堰市| 平凉市| 宝坻区| 文安县| 体育| 尼勒克县| 云阳县| 恩平市| 兴和县| 文安县| 华安县| 巴林右旗| 舟曲县| 淮阳县| 敖汉旗| 同仁县| 高平市| 石狮市| 湛江市| 灌阳县| 新河县| 五原县| 横峰县| 东乡县| 兴宁市| 上饶县| 海南省| 茂名市| 枝江市| 福安市| 普陀区| 牡丹江市| 栾城县| 延安市| 东山县| 天峻县| 南靖县| 西城区|