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

我刚刚下载了 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_VERSION

3.2.57(1)-release


MYYA
浏览 124回答 3
3回答

森林海

单引号和双引号,一切正常:[iahmad@web-prod-ijaz001 ~]$ [iahmad@web-prod-ijaz001 ~]$ [iahmad@web-prod-ijaz001 ~]$ [iahmad@web-prod-ijaz001 ~]$ echo $BASH_VERSION4.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 ~]$ 

HUWWW

您必须使用双引号或单引号:解释器将“视为任何字符,因此试图找到一个程序“/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 就会解析可执行文件。

胡说叔叔

我认为您使用的引号 (“) 不是 ASCII 引号 (” 或 ')。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java