在linux中執行.sh指令碼,異常/bin/sh^m: bad interpreter: no such file or directory。
分析:這是不同系統編碼格式引起的:在windows系統中編輯的.sh檔案可能有不可見字元,所以在linux系統下執行會報以上異常資訊。
解決:1)在windows下轉換:
利用一些編輯器如ultraedit或editplus等工具先將指令碼編碼轉換,再放到linux中執行。轉換方式如下(ultraedit):file-->conversions-->dos->unix即可。
2)也可在linux中轉換:
首先要確保檔案有可執行許可權
#sh>chmod a+x filename
然後修改檔案格式
#sh>vi filename
利用如下命令檢視檔案格式
:set ff 或 :set fileformat
可以看到如下資訊
fileformat=dos 或 fileformat=unix
利用如下命令修改檔案格式
:set ff=unix 或 :set fileformat=unix
:wq (存檔退出)
最後再執行檔案
#sh>./filename
Linux Shell指令碼面試25問
答 乙個shell指令碼是乙個文字檔案,包含乙個或多個命令。作為系統管理員,我們經常需要使用多個命令來完成一項任務,我們可以新增這些所有命令在乙個文字檔案 shell指令碼 來完成這些日常工作任務。答 在linux作業系統,bin bash 是預設登入shell,是在建立使用者時分配的。使用chsh...
Linux Shell指令碼基礎
shell指令碼在處理自動迴圈或大的任務方面可節省大量時間,且功能強大。任何指令碼都可能有注釋,加注釋需要此行的第乙個字元為 直譯器對此行不予解釋。指令碼不是複雜的程式,它是按行解釋的。指令碼第一行總是以 bin sh開始,這段指令碼通知shell使用系統上的 bourne shell直譯器。指令碼...
linux shell指令碼犯錯
指令碼裡犯了錯 oracle it shell value 1 oracle it shell value 1 bash value command not found oracle it shell value 3 bash value command not found oracle it sh...