Bash
更改目前目錄的腳本 (cd, pwd)
我想執行一個腳本來簡單地更改目前工作目錄:
#!/bin/bash cd web/www/project
但是,在我執行它之後,目前密碼保持不變!我怎樣才能做到這一點?
這是一種預期的行為。該腳本在子 shell 中執行,不能更改父 shell 工作目錄。它的效果在它結束時消失。
要永久更改目前 shell 的目錄,您應該使用
source
命令,也簡稱為.
,它在目前 shell 環境而不是子 shell 中執行腳本。以下命令是相同的:
. script
要麼
source script
對於這樣的小任務,不要創建腳本,而是創建這樣的別名,
$ alias cdproj='cd /dir/web/www/proj'
.bashrc
如果您希望為每個互動式 shell 設置它,您應該將它添加到您的文件中。現在您可以將其執行為
$ cdproj
.