我正在尝试设置快捷方式,这样我就不必经常输入很长的目录名。在 中~/.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。