Calvin's Tech Space

          成于堅忍,毀于浮躁

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

          轉(zhuǎn)換不同平臺的文本文件格式可以用
          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產(chǎn)生的^和字母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
          謝謝人民,謝謝上帝,謝謝您,很有幫助。  回復(fù)  更多評論
            

          主站蜘蛛池模板: 泽州县| 太原市| 石阡县| 余姚市| 新巴尔虎右旗| 海门市| 广东省| 揭西县| 信宜市| 修水县| 定安县| 黄山市| 江安县| 南漳县| 七台河市| 贡山| 大足县| 平阴县| 务川| 莒南县| 敦煌市| 繁昌县| 常州市| 芦山县| 辛集市| 揭东县| 阿坝县| 陵川县| 扶余县| 阳谷县| 阳新县| 南部县| 渭南市| 六盘水市| 武强县| 台南县| 囊谦县| 琼海市| 普宁市| 屏南县| 溧水县|