【发布时间】:2012-10-26 02:06:58
【问题描述】:
我正在通过 putty 在远程服务器上工作,并试图通过类似这样的方式设置某些环境变量
#!/bin/bash
VAR="SOME VALUE"
export $VAR
当我退出脚本并在 $VAR 上运行 echo 时,我得到一个空行。你能建议一个解决这个问题的方法吗?
【问题讨论】:
标签: bash environment-variables variable-assignment
我正在通过 putty 在远程服务器上工作,并试图通过类似这样的方式设置某些环境变量
#!/bin/bash
VAR="SOME VALUE"
export $VAR
当我退出脚本并在 $VAR 上运行 echo 时,我得到一个空行。你能建议一个解决这个问题的方法吗?
【问题讨论】:
标签: bash environment-variables variable-assignment
首先您需要导出 VAR,而不是 $VAR。
另外,我认为,你正试图从你的 shell 中执行脚本
./initVars.sh # or whatever is your script name...
你应该把它作为来源
source ./initVars.sh # OR
. ./initVars.sh # Note the leading '.' which serves as short-hand for source.
你可以把它放在你的 .bashrc 中。
【讨论】:
set VAR="SOME VALUE"
两个问题。首先,它只是export VAR。其次,$VAR 仅对您的脚本和子进程可用,而对父 shell 不可用。如果你想为那个 shell 设置 $VAR,你可以像 . ./yourscript.sh 这样从 shell 获取它。
【讨论】:
应该是
export VAR
请注意缺少美元符号。
【讨论】:
echo $0 在命令提示符下。如果您没有看到bash 或sh,那么它将不起作用。
export 是 POSIX,所以它也应该在 sh 中工作。