Linux shell指令碼編碼問題

2021-08-25 01:55:37 字數 642 閱讀 4342

在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...