sh脚本中的系统环境变量如何更新?
例如
首先设置一个系统变量:export STOP_FLAG="T"
然后编写一个脚本var.sh:
#!/bin/sh
while [ $STOP_FLAG = "T" ]
do
sleep 5
echo $STOP_FLAG>>test.log
done
运行脚本,后台进程:./var.sh &
这时test.log里的STOP_FLAG的值是T
然后我想在当前Shell下重新修改STOP_FLAG的值 使var.sh停止运行
export STOP_FLAG="F"
但实际上停不了var.sh进程,虽然从命令行查看STOP_FLAG的值已经改变,进程var.sh读到的STOP_FLAG仍然是“T”。
是不是启动var.sh时, var.sh只能读取当时的环境变量设置?
除了kill外,如何才能让var.sh停下来?