全局导出变量

全局导出变量

我可以将当​​前服务器的 IP 地址保存到变量中并将其回显出来。

# myvar=$(/sbin/ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}')

# echo $myvar
10.11.6.117

我想要做的是将其“导出”为全局变量,以便可以在 shell 脚本/其他命令中使用它。

答案1

然后export它。

export varname="value"

稍后它将可用(导出到环境中)。

选择:

varname="value"
export $varname

如果您希望在登录时每个 shell 都全局使用此方法,您可以将其放入/etc/profile或类似内容中。

答案2

答案取决于你使用的 shell:

  • 为了兼容 shell(包括狂欢)使用:VARIABLE=value; export VARIABLE或者只是export VARIABLE=value
  • 为了tcshsetenv VARIABLE value
  • 为了export VARIABLE=value

答案3

对于登录 shell,您可以在 中全局设置变量/etc/profile。编辑文件并在行后添加以下行export PATH ...

myvar=$(/sbin/ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}')
export myvar

答案4

只需source从其他 shell 脚本中获取它:

source /path/to/ip.sh
echo $myvar

或者:

. /path/to/ip.sh
echo $myvar

相关内容