問題描述:
????????在本地的window系統傳的云服務器上一個.sh結尾的安裝Java環境的腳本
? ? ? ? 上傳到云服務器后,使用命令賦予執行權限
chmod +x 文件名
? ? ? ? 然后看一下這個腳本變綠了就可以了
? ? ? ? 然后開始嘗試執行
./腳本名
????????然后就報錯了
? ? ? ? 然后開始排查問題
1.檢查并修復 Shebang 行
vi install-java.sh
????????檢查第一行是否是
#!/bin/sh
或
#!/bin/bash
? ? ? ? 發現沒有問題
2.驗證文件完整性
file install-java.sh
正常輸出應為類似:
install-java.sh: Bourne-Again shell script, ASCII text executable
如果顯示 with CRLF line terminators,則需轉換格式。
發現是這個問題
解決方法1:
使用?dos2unix
?工具轉換文件格式(如果?dos2unix
?未安裝,先安裝它):
yum install dos2unix -y # CentOS/RHEL
# 或
apt-get install dos2unix -y # Debian/Ubuntu
dos2unix install-java.sh
?
解決方法2:
sed -i 's/\r$//' install-java.sh
? ? ? ? 我是用方法一就解決了,希望對大家有用