环境变量,cd到带空格的路径名:没有这样的文件或目录

时间:2018-04-01 19:12:35

标签: environment-variables whitespace cd

带空格的路径名是引号,但环境变量不想工作,怎么来?

enter image description here

1 个答案:

答案 0 :(得分:2)

由于POSIX shell的可变扩展和字拆分规则,您的尝试无效。 @ZiggZagg的评论不是建议用单引号替换你使用的双引号。他们建议你单引号。但是,由于var扩展如何与单词拆分相互作用,这将无法工作。基本上,没有办法做你想做的事情。但是,您可以将路径放在var中并使用:

photos='/home/tomas/Pictures/New Folder'
cd "$photos"

注意需要引用var扩展以防止shell在扩展上进行单词拆分。

您可以使用别名或功能更接近您想要的内容。例如,

photos() { cd '/home/tomas/Pictures/New Folder'; }
photos