Bash
su - username -c ‘./script.sh’ -> 沒有這樣的文件或目錄
我們有:
使用者 nico。
/home/nico/script_home
包含一些 bash 腳本的文件夾:
main.sh
subscripta.sh
sqlscripta.sh
我們以 root 和 cd 身份連接
/home/nico/script_home/
最後我們執行
./main.sh
結果我們得到:
subscripta.sh
- 無此文件或目錄- sql腳本工作正常
我注意到
su - nico -c "pwd"
返回/home/nico/
所以我嘗試更改main.sh
為./script_home/subscripta.sh
但無濟於事。使用 su - 執行腳本時避免沒有此類文件或目錄錯誤的正確語法是什麼?
#main.sh su - nico -c "./subscripta.sh" su - nico -c "sqlplus username/pass@some_oracle_db @script_home/sqlscripta.sql"
嘗試
su - nico -c "/home/nico/script_home/subscripta.sh"
不要這樣做
su -
- 對使用者 ID 進行總登錄,包括將 HOME 設置為任何使用者 ID 的主目錄。嘗試
su nico -c "./script.sh"
此外,確保 script.sh 被標記為可執行。