我創建了以下腳本只是為了學習 wsl 中的 bash 腳本,另存為 nano 中的 Desktop.sh
#!/bin/bash
cd /mnt/c/Users/myusername/Onedrive/Desktop
當我在 shell 中輸入 bash Desktop.sh 時
什麼都沒發生
任何建議都會有幫助
答案1
您使用該命令調用的腳本bash Desktop.sh
運行良好,但您沒有看到任何效果。
為什麼?
因為腳本是在子shell 中執行的。
執行腳本bash Desktop.sh
將啟動一個子 shell,並執行子 shell 中的任何命令。因此,目前目錄在子 shell 中更改,並且僅在子 shell 中更改。當腳本停止時,您將返回 shell,其中沒有任何變更。如果您使腳本可執行,也會發生同樣的情況,他們透過輸入其路徑名稱來運行它。在這種情況下,將讀取 shebang ( #!/bin/bash
) 來決定要載入哪個 shell。
到看效果,您需要執行cd
命令目前的殼。你可以這樣做採購劇本:
source Desktop.sh
或使用快捷符號:
. Desktop.sh
現在,效果就好像您自己在提示符號下鍵入腳本中的命令一樣。