我刚刚下载了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
如何正确将此路径导出到变量?
现在还有另一个question可以回答这个问题,但是那里的回答不起作用:
>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_VERSION
3.2.57(1)-release
答案 0 :(得分:1)
单引号和双引号,一切正常:
DataContext
答案 1 :(得分:0)
您必须使用双引号或单引号:解释程序将“视为任何字符”,因此试图找到程序“/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,然后外壳程序将解析可执行文件。
答案 2 :(得分:0)
我认为您使用的引号(“)不是ASCII引号(”或')。