nohup执行的shell脚本,全局变量不能传递到脚本中使用吗?
如题:其他文件中定义的全局变量,nohup 123.sh & 执行123.sh时不能引用吗?
------解决方案--------------------用export
------解决方案--------------------可以啊,使用source 脚本。
不必export,只要source 脚本就行了,全局变量就被设置到当前shell进程里了,如果希望它成为环境变量以便被之后的shell子进程使用就要export了。
------解决方案--------------------哦哦,改成这样:
cat mm.lib
#!/usr/bin
BASE_DIR=/usr/sbin/cluster/utilites
LOGFILE=${BASE_DIR}/123.log
cat nn.sh
#!/usr/bin
. mm.lib
export LOGFILE #这里要导出为环境变量才能被123.sh进程使用
nohup 123.sh &
cat 123.sh
#!/usr/bin
cat ${LOGFILE} >456.log
------解决方案--------------------
------解决方案--------------------要用export, 引用别的脚本用 source $(dirname $0)/xxx.sh