Som*_*kar 9 shell ubuntu environment-variables
我创建了 env.sh 文件,其内容如下
#!/bin/sh
export M2_HOME=/vagrant/tools/maven
export PATH=$PATH:$M2_HOME/bin
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_65
export ANT_HOME=/usr/local/apache-ant-1.9.7
export MAVEN_HOME=$M2_HOME
Run Code Online (Sandbox Code Playgroud)
但执行此 sh 文件不会导致导出 env 变量。必须手动执行每一行才能将它们导出。请帮忙
hee*_*ayl 16
您需要source( .) 文件,而不是执行:
. env.sh
Run Code Online (Sandbox Code Playgroud)
执行脚本时,它在子shell中运行,一旦(子)shell退出,导出的所有参数都将超出范围,不会影响父shell。
当您使用source它时,参数将在调用会话中可用。以及您正在处理的子进程export。
请注意,shUbuntu的默认系统 shell ( ) 是dash, notbash并且作为交互式 shellgnome-terminal生成bash。在执行时,确保shebang 是正确的,并且是想要的。此外,在source-ing 时,不需要 shebang,您可以删除它。