2017-11-18 143 views
1

我一直在試圖配置CDPATH變量,以包含一些具有長絕對路徑的目錄,放置在外部驅動器上,但儘管告訴我目錄包含在內,'cd'命令沒有更改目錄無論哪種方式
我用下面的命令:CDPATH配置但不工作

$ export CDPATH=/media/user/01/workspace/rubystudies
然後
$ echo $CDPATH,這回我下面的:

/media/user/01/workspace/rubystudies
然而,當我嘗試cd rubystudiescd /rubystudies它說
bash: cd: /rubystudies: No such file or directory

我究竟在做什麼錯?配置CDPATH後,我真的如何使用cd

回答

0

下面是對CDPATH設置文檔:

cd命令的搜索路徑。這是一個以冒號分隔的 目錄列表,其中shell查找由cd命令指定的目標目標 目錄。示例值是「。:〜:/ usr」。

因此,CDPATH設置不是一個簡單的冒號分隔的書籤列表。它更類似於PATH設置,因爲它在的內部看起來爲,每個列出的目錄都被傳遞給cd命令。

如果你想在這裏正確使用環境,我會嘗試:

export CDPATH='.:/media/user/01/workspace' 

...這將允許您根據需要執行cd rubystudies/

我使用CDPATH來保存.(當前工作目錄)和一個包含我所有項目的目錄,以便我可以從任何地方切換到它們中的任何一個。您可能還想包含您的主目錄以快速訪問它所包含的子目錄。

+0

我可以利用這個機會詢問如何從'CDPATH'中刪除一個目錄嗎?我沒有永久添加它,但是如果我錯誤地輸入了一個永久目錄,我將無法重新啓動會話 – sandobits

+0

刪除一個我知道的目錄的唯一方法是僅僅爲'CDPATH'分配一個新值有問題的目錄。您應該在「〜/ .bashrc」中放置所需的設置,以避免手動定義它。 – lifecrisis