如何在路径文件中使用 'Application Support' 在 Mac 10.14.6 Mojave 中设置环境变量?

How to set environment variable in Mac 10.14.6 Mojave with 'Application Support' in pathfile?

我在设置环境变量时遇到问题,该环境变量的路径文件包含 space ' ' 字符。

在你问之前,我已经尝试过将整个路径文件括在双引号、单引号、不带引号但用后退space转义。

会不会是编码的问题?变量将是:

export A_MEDIA="/Users/polo/Library/Application Support/Anki2/me/collection.media"

一旦我 source ~/.bash_profile,我尝试 cd $A_MEDIA(有或没有引用变量名)。响应是:

-bash: cd: /Users/polo/Library/Application: No such file or directory

好像bash不知道如何解释'Application'和'Support'之间的space。它认为路径从名为 Application 的文件夹到名为 Support 的文件夹。它只是不将它们视为单个文件夹名称。有什么帮助吗?请?

对我有用,所以我强烈怀疑你在问题陈述中向我们展示的并不是你实际在做的。我通常使用 fish 所以这显示我在开始之前设置环境变量 bash 以表明它正确地继承了 var 并且还在 bash:

中设置和使用它
12:21 macbook opencv3  ~ > set -x A_MEDIA $HOME/Library/Application\ Support/Dock/
12:22 macbook opencv3  ~ > bash
running .bashrc
bash-5.0$ cd $A_MEDIA
bash: cd: too many arguments
bash-5.0$ cd "$A_MEDIA"
bash-5.0$ pwd
/Users/krader/Library/Application Support/Dock
bash-5.0$ export B_MEDIA="$HOME/Library/Application Support/Gitter"
bash-5.0$ cd $B_MEDIA
bash: cd: too many arguments
bash-5.0$ cd "$B_MEDIA"
bash-5.0$ pwd
/Users/krader/Library/Application Support/Gitter
bash-5.0$ exit

请注意,在像 bash 这样的 POSIX shell 中,您应该几乎总是在 var 扩展周围使用双引号,这样如果它包含空格,则扩展值不会被拆分那个空格。