【发布时间】:2021-04-09 22:11:07
【问题描述】:
我得到了一些关于检查变量是否为空的不工作脚本,并基于此创建下一个变量并将其导出。
export VARIABLE=macmac123
if [ -z "$VARIBLE" ]
then
unset $VAR2
else
export VAR2="test"
fi
接下来我运行这个脚本 ./script.sh 然后运行 echo $VAR2 没有显示任何内容。有任何想法吗?我无法更改整个脚本,因为我需要这个,但它不会将任何内容导出到环境变量中。
【问题讨论】:
-
用
unset引用变量时不要使用$ -
环境变量由子进程继承。更改脚本中的变量不会影响父进程。
-
你需要使用
source scriptname在当前shell进程中运行脚本,让它改变它的变量。 -
另外你需要修正错字:
"$VARIBLE"->"$VARIABLE"