SH 文件未设置 ENV 变量 (Mac OS X)
SH File not setting ENV variables (Mac OS X)
我有一个文件 set_env.sh,我 运行 在终端中使用:
sh set_env.sh
代码运行s,但未设置变量。我正在检查
echo $EMAIL_SERVER
set_env.sh
#!/bin/sh
echo email Address
read y
echo email password?
read x
export EMAIL_SERVER='smtp.gmail.com'
export EMAIL_PORT=587
export EMAIL_DOMAIN='domain.com'
export EMAIL_AUTHENTICATION='plain'
export EMAIL_ENABLE_STARTTLS_AUTO=true
export EMAIL_USERNAME=$y
export EMAIL_PASSWORD=$x
改用source
命令:
source set_env.sh
命令在当前shell上下文中执行脚本,而不是通过单独的shell进程调用:sh set_env.sh
(环境变量在与当前进程隔离的新 sh
进程中设置。
顺便说一下,如果您愿意,可以使用点 (.
) 代替 source
。
您可以用这个
修改主目录中的 ~/.bash_profile 文件
export EMAIL_SERVER='smtp.gmail.com'
export EMAIL_PORT=587
export EMAIL_DOMAIN='domain.com'
export EMAIL_AUTHENTICATION='plain'
export EMAIL_ENABLE_STARTTLS_AUTO=true
export EMAIL_USERNAME=$y
export EMAIL_PASSWORD=$x
我有一个文件 set_env.sh,我 运行 在终端中使用:
sh set_env.sh
代码运行s,但未设置变量。我正在检查
echo $EMAIL_SERVER
set_env.sh
#!/bin/sh
echo email Address
read y
echo email password?
read x
export EMAIL_SERVER='smtp.gmail.com'
export EMAIL_PORT=587
export EMAIL_DOMAIN='domain.com'
export EMAIL_AUTHENTICATION='plain'
export EMAIL_ENABLE_STARTTLS_AUTO=true
export EMAIL_USERNAME=$y
export EMAIL_PASSWORD=$x
改用source
命令:
source set_env.sh
命令在当前shell上下文中执行脚本,而不是通过单独的shell进程调用:sh set_env.sh
(环境变量在与当前进程隔离的新 sh
进程中设置。
顺便说一下,如果您愿意,可以使用点 (.
) 代替 source
。
您可以用这个
修改主目录中的 ~/.bash_profile 文件export EMAIL_SERVER='smtp.gmail.com'
export EMAIL_PORT=587
export EMAIL_DOMAIN='domain.com'
export EMAIL_AUTHENTICATION='plain'
export EMAIL_ENABLE_STARTTLS_AUTO=true
export EMAIL_USERNAME=$y
export EMAIL_PASSWORD=$x