Bash
使 cd 跟隨符號連結
我將我的程式碼作為 sshfs 安裝在我的主目錄中,但是層次結構很難記住,所以我在我的主目錄中創建了一個符號連結,通向該目錄。有沒有辦法讓我 cd 到那個符號連結,而不是 cd 到符號連結,它實際上會 cd 到那個目錄?
如果問題不清楚,這裡是我正在尋找的一個例子:
foo@foo:~$ ls -l lrwxrwxrwx 1 foo foo 5 2012-11-14 08:20 foo -> bar/bar foo@foo:~$ cd foo foo@foo:~/bar/bar/$
對於任何 POSIX 實現
cd
,您都可以使用該-P
選項來執行此操作。$ help cd ... -P use the physical directory structure without following symbolic links ...
你可以在這裡看到它的實際效果:
$ mkdir foo $ ln -s foo bar $ cd -P bar $ pwd /tmp/tmp.WkupF2Ucuh/foo
如果您希望這是預設行為,您可以為 創建一個別名
cd
,如下所示:alias cd='cd -P'
…或使用
set -o physical
. 對於 tcsh,等效的命令是set symlinks=chase
.