我想要做的是为了不将变量硬编码为字符串我想让它变得更有活力。
我想做这样的事情:
export SERVER_IP=45.100.1.100 #this works but it is hardcoding
IP = short myip.opendns.com @resolver1.opendns.com #grabs IP and should save it into a variable
export SERVER_IP = IP #exports IP to an environmental variable
如何让它真正起作用?感谢。
答案 0 :(得分:1)
您打算使用的命令是dig
(大概):
dig +short myip.opendns.com @resolver1.opendns.com
现在,要将命令的STDOUT保存在变量中,需要命令替换$()
:
ip=$(dig +short myip.opendns.com @resolver1.opendns.com)
=
中的变量声明中bash
周围不得有任何空格。
作为旁注,请勿在{{1}}中使用全部大写的变量名来防止意外过度使用相同名称的任何环境变量。