Calvin's Tech Space

          成于堅(jiān)忍,毀于浮躁

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

          轉(zhuǎn)換不同平臺(tái)的文本文件格式可以用
          1. unix2dos或dos2unix這兩個(gè)小程序來做. 很簡單. 在djgpp中這兩個(gè)程序的名字叫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, 它是一個(gè)字符, 其ASCII是0x0D, 生成它的辦法是先按CTRL+V, 然后再回車(或CTRL+M)
          posted on 2010-06-30 13:26 calvin 閱讀(5794) 評(píng)論(1)  編輯  收藏 所屬分類: Linux

          Feedback

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

          主站蜘蛛池模板: 建昌县| 襄城县| 将乐县| 龙里县| 菏泽市| 图们市| 陆良县| 文安县| 武穴市| 济阳县| 西华县| 建阳市| 南丰县| 屏南县| 闵行区| 固阳县| 鸡泽县| 乌拉特后旗| 双辽市| 遂昌县| 丰原市| 中山市| 永济市| 聂拉木县| 洛阳市| 乌恰县| 永顺县| 安康市| 长岭县| 汝阳县| 冷水江市| 慈溪市| 汉中市| 天津市| 淮北市| 龙游县| 微山县| 上饶县| 锡林郭勒盟| 桂阳县| 沁阳市|