Bash路径包含空间没有这样的文件或目录

时间:2015-12-15 13:07:38

标签: bash path cygwin

根据这个问题How to input a path with a white space?我已经声明了一个类似的目录路径:

startup='/cygdrive/c/Users/Me/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup';我试图将路径包装成双引号,但它也不起作用。

但由于某些原因,当我输入$startup时,我收到错误:

$ $startup
bash: /cygdrive/c/Users/Alex/AppData/Roaming/Microsoft/Windows/Start: No such file or directory

你会如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

用引号包围变量:

$ "$startup"

您应该始终引用变量以确保安全。您可以参考this页面了解更多详情。

正如它在第一段中所述:"当引用变量时,通常建议将其名称括在双引号中。这可以防止重新解释引用字符串中的所有特殊字符 - 除了$,`(反引号)和\(转义)。"

您还可以参考this页面,其中指出:基本的经验法则是您应该对每次展开进行双重引用。这可以防止不必要的单词拆分和通配。如有疑问,请引用它。