回覆列表
-
1 # IT大叔Cc
-
2 # 龍華仙島
有幾種可能
1、你係統中沒有安裝bash
yum install bash
or
apt-get install bash
2、你執行的路徑問題,請帶上絕對路徑
3、指定執行方式
bash cpp.sh
or
sh cpp.sh
or
./cpp.sh
3、執行許可權,請用 sudo 模式執行
-
3 # 十哩啵哥
按常理來說應該是路徑問題,你執行./cpp.sh看看(.就表示當前路徑),因為當前目錄沒包含在PATH變數中,當然,也不建議吧當前路徑加到PATH中。具體情況根據你專案除錯才能更清楚
-
4 # 小溫Talk
1.直接./加上檔名.sh
以執行cpp.sh為例 ./cpp.sh 【注意:cpp.sh必須有x許可權】
如cpp.sh在/home/app目錄,則可執行如下命令:
./home/app/cpp.sh
/home/app/cpp.sh
sh /home/app/cpp.sh
2.直接sh 加上檔名.sh
以執行cpp.sh為 sh cpp.sh 【cpp.sh可以沒有x許可權】
絕對路徑執行.sh檔案。
1)cd到cpp.sh檔案所在目錄
cd /home/app/
2)給cpp.sh檔案新增x執行許可權
chmod u+x cpp.sh
3)./執行cpp.sh檔案
./cpp.sh 即可執行cpp.sh檔案
4)sh 執行cpp.sh檔案
sh cpp.sh即可執行cpp.sh檔案
注意事項:用“./”加檔名.sh執行時,必須給.sh檔案加x執行許可權
相信透過上邊的介紹,已經有了您需要的答案了。
回答行業問題
Linux系統提示command not found,並且執行的是shell指令碼格式的命令,這裡牽涉到PATH環境變數配置問題。這裡你沒有將cpp.sh這個指令碼複製到PATH宣告的目錄下比如/bin、/sbin、/usr/bin等目錄。
Linux系統環境變數PATHLinux環境變數PATH,是一個字串變數,在終端輸入命令時Linux會去PATH包含的路徑中去查詢命令。
[root@api linux]# echo $PATH
上圖就是Linux系統環境變數PATH包含的路徑,如果需要直接使用cpp.sh
可以將這個指令碼檔案複製到這個裡的目錄。
*.sh指令碼許可權在Linux系統下字尾是.sh的檔案,預設為是shell指令碼檔案,如果需要執行指令碼需要將指令碼賦予執行許可權,也可以在指令碼前加sh命令,不需要許可權也能夠執行:
[root@api linux]# sh cpp.sh
[root@api linux]# chmod +x cpp.sh
[root@api linux]# ./cpp.sh