environment-variables - cd 到带有空格的路径名的环境变量 : no such file or directory

标签 environment-variables whitespace cd

带空格的路径名在引号中,但环境变量不想工作,这是怎么回事?

enter image description here

最佳答案

由于 POSIX shell 糟糕的变量扩展和分词规则,您的尝试不起作用。 @ZiggZagg 的评论并不是建议将您使用的双引号替换为单引号。他们建议您单引号路径。然而,由于 var 扩展与分词的相互作用,这不起作用。基本上,没有办法做你想做的事。但是,您可以将路径放入 var 中并使用它:

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

请注意,需要引用 var 扩展以防止 shell 对扩展进行分词。

通过使用别名或函数,您可以更接近您想要的结果。例如,

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

关于environment-variables - cd 到带有空格的路径名的环境变量 : no such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49601712/

相关文章:

perl - 如何在 Perl 脚本中导出 shell 变量?

shell - 管道 `cd` 或 `popd` 输出阻止更改目录?

jquery - 每个 div 之间的空白不会消失 [CSS]

r - 无法从数据框中删除空白,因此无法找到均值

git - 如何使用 bash 将 cd 转到最近的具有 .git 文件夹的父文件夹?

git init, add, commit from a different directory

windows - 如何在VBS 中使用MsgBox 中的计算机名环境变量?

database - docker-compose:将变量传递给 tomcat 上下文

macos - 使PATH和其他环境变量在emacs中可用

c - 如何在C中合并文本中所有可能的空格