Bash

更改目前目錄的腳本 (cd, pwd)

  • November 11, 2021

我想執行一個腳本來簡單地更改目前工作目錄:

#!/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.

引用自:https://unix.stackexchange.com/questions/27139