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 閱讀(5795) 評論(1)  編輯  收藏 所屬分類: Linux

          Feedback

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

          主站蜘蛛池模板: 当涂县| 漠河县| 方城县| 盐边县| 凯里市| 灵宝市| 靖边县| 隆化县| 遂昌县| 沂南县| 石嘴山市| 武川县| 临邑县| 大关县| 大英县| 定结县| 息烽县| 洛隆县| 黄陵县| 普兰县| 兴山县| 南陵县| 依兰县| 崇礼县| 南江县| 龙门县| 绥化市| 观塘区| 遂宁市| 台安县| 延川县| 平潭县| 敦煌市| 葫芦岛市| 华蓥市| 临夏市| 门源| 灌南县| 临澧县| 临高县| 岳池县|