为了账号安全,请及时绑定邮箱和手机立即绑定

如何在终端路径中导出带空格的环境变量

如何在终端路径中导出带空格的环境变量

MYYA 2023-03-23 16:43:13
我刚刚下载了 Java,根据 Java 控制面板,可执行文件位于此目录中: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java现在我想导出一个环境变量JAVA_HOME:>export JAVA_HOME=“/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java”但是当我在空间被屠杀后打印出变量时>$JAVA_HOME-bash: “/Library/Internet: No such file or directory如何正确地将此路径导出到变量?现在有另一个问题可以回答这个问题,但那里的答案不起作用:>SOME_PATH="/mnt/someProject/some path">$SOME_PATH-bash: /mnt/someProject/some: No such file or directory并在那里使用其他答案:>SOME_PATH=/mnt/someProject/some\ path>$SOME_PATH-bash: /mnt/someProject/some: No such file or directory这是我的 bash 版本(我在 macOS 10.14.5 上):>echo $BASH_VERSION3.2.57(1)-release
查看完整描述

3 回答

?
森林海

TA贡献2011条经验 获得超2个赞

单引号和双引号,一切正常:


[iahmad@web-prod-ijaz001 ~]$ 

[iahmad@web-prod-ijaz001 ~]$ 

[iahmad@web-prod-ijaz001 ~]$ 

[iahmad@web-prod-ijaz001 ~]$ echo $BASH_VERSION

4.4.12(1)-release

[iahmad@web-prod-ijaz001 ~]$ 

[iahmad@web-prod-ijaz001 ~]$ export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java"

[iahmad@web-prod-ijaz001 ~]$ 

[iahmad@web-prod-ijaz001 ~]$ 

[iahmad@web-prod-ijaz001 ~]$ echo $JAVA_HOME

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java

[iahmad@web-prod-ijaz001 ~]$ 

[iahmad@web-prod-ijaz001 ~]$ 

[iahmad@web-prod-ijaz001 ~]$ export JAVA_HOME='/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java'

[iahmad@web-prod-ijaz001 ~]$ 

[iahmad@web-prod-ijaz001 ~]$ echo $JAVA_HOME

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java

[iahmad@web-prod-ijaz001 ~]$ 

[iahmad@web-prod-ijaz001 ~]$ 


查看完整回答
反对 回复 2023-03-23
?
HUWWW

TA贡献1874条经验 获得超12个赞

您必须使用双引号或单引号:解释器将“视为任何字符,因此试图找到一个程序“/Library/Internet

export JAVA_HOME='/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java'

除了单引号和反斜杠之外,您不需要使用单引号转义任何内容。

请注意,当您直接使用它时,例如$JAVA_HOME foobar.Main,您还需要添加双引号,因为在这种情况下$JAVA_HOME包含空格:

"$JAVA_HOME" foobar.Main

某些终端可能在没有双引号的情况下工作,但你不应该依赖它。

但是,这JAVA_HOME是错误的:它应该指向一个包含以下内容的文件夹/bin/java

export JAVA_HOME="/c/Program Files/Java/jdk1.8.0_202"
export PATH="$JAVA_HOME/bin:$PATH"

在这种情况下,您只需调用 java,您的 shell 就会解析可执行文件。


查看完整回答
反对 回复 2023-03-23
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

我认为您使用的引号 (“) 不是 ASCII 引号 (” 或 ')。



查看完整回答
反对 回复 2023-03-23
  • 3 回答
  • 0 关注
  • 123 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信