佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > windows下寫的shell腳本在linux執(zhí)行出錯的解決辦法

windows下寫的shell腳本在linux執(zhí)行出錯的解決辦法

熱門標(biāo)簽:服務(wù)外包 網(wǎng)站排名優(yōu)化 百度競價排名 呼叫中心市場需求 地方門戶網(wǎng)站 AI電銷 Linux服務(wù)器 鐵路電話系統(tǒng)

在Windows下寫了一個shell腳本,上傳到Linux下執(zhí)行時報(bào)錯:

復(fù)制代碼 代碼如下:
[root@localhost test]# ./test.sh  
-bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory

test.sh源碼: 
復(fù)制代碼 代碼如下:
#!/bin/sh 

echo "test shell "

由于自己對shell不太熟悉,找同事溝通了后了解了原委,主要原因是test.sh是我在windows下編輯然后上傳到linux系統(tǒng)里執(zhí)行的。.sh文件的格式為dos格式。而linux只能執(zhí)行格式為unix格式的腳本。因?yàn)樵赿os/window下按一次回車鍵實(shí)際上輸入的是“回車(CR)”和“換行(LF)”,而Linux/unix下按一次回車鍵只輸入“換行(LF)”,所以修改的sh文件在每行都會多了一個CR,所以Linux下運(yùn)行時就會報(bào)錯找不到命令。
我們可以通過vi編輯器來查看文件的format格式。步驟如下:
1.首先用vi命令打開文件
[root@localhost test]# vi test.sh  
2.在vi命令模式中使用 :set ff 命令
可以看到改文件的格式為

復(fù)制代碼 代碼如下:
fileformat=dos

3.修改文件format為unix
使用vi/vim修改文件format
命令::set ff=unix
或者::set fileformat=unix

然后:wq保存退出就可以了

您可能感興趣的文章:
  • PowerShell中獲取Windows系統(tǒng)序列號的腳本分享
  • Windows Powershell 執(zhí)行文件和腳本
  • PowerShell腳本中控制Windows DNS服務(wù)的方法
  • linux和windows下的自動ftp腳本(shell bat)
  • 下一代Shell腳本語言,Windows Power Shell!
  • windows下上傳shell腳本不能運(yùn)行的解決方法

標(biāo)簽:銅川 衡水 湘潭 仙桃 蘭州 崇左 湖南 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《windows下寫的shell腳本在linux執(zhí)行出錯的解決辦法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    庆城县| 湖北省| 延安市| 安图县| 平罗县| 巴青县| 梓潼县| 萍乡市| 环江| 遂溪县| 赞皇县| 卓尼县| 安陆市| 攀枝花市| 远安县| 雷山县| 桃园市| 积石山| 景德镇市| 兴隆县| 康保县| 集安市| 辽宁省| 莆田市| 固镇县| 朝阳县| 宽城| 叶城县| 雅安市| 谷城县| 富裕县| 区。| 邛崃市| 临泉县| 马公市| 三门县| 科尔| 莲花县| 兴山县| 阿拉尔市| 桑植县|