CDPATH 中帶有空格的 bash 目錄名

CDPATH 中帶有空格的 bash 目錄名

我正在嘗試設定一個快捷方式,這樣我就不必經常輸入很長的目錄名稱。在 中~/.bash_profile,我正在做類似的事情:

export CDPATH=".:~:/This/Is/A/Really/Long/Path/That/Ends/With/My Name"

嘗試設定此變數時,如何轉義/保留目錄名稱中的空格?

我嘗試了各種解決方案(使用單引號與雙引號、用反斜線轉義(我什至嘗試過'My\\\ Name')、完全不使用引號以及這些選項的組合)。

謝謝。

答案1

export CDPATH=".:~:/This/Is/A/Really/Long/Path/That/Ends/With/My Name"

應該沒事

我試過了

cd /tmp/
mkdir "aaa bbb"
mkdir "aaa bbb/a" "aaa bbb/b"
export CDPATH="/tmp/aaa bbb"

cd a

工作得很好

另外,如果您想更快地更改目錄,您可以建立一個別名

alias longpath="cd '/This/Is/A/Really/Long/Path/That/Ends/With/My Name'"

但它不能解決複製到該目錄的問題

cp longpath

行不通的。

也許它無法正常工作,您應該安裝並啟用 bash-completion — 它定義了一個 _cd 函數並將其設為 cd 命令的完成程序,該完成程序會覆蓋預設完成並包含 $CDPATH。

相關內容