我需要做这样的事情
- 设置一个带有默认值的 unix 变量。
- 运行一个 shell 脚本来读取该变量并对其进行处理。
- 处理后可能会也可能不会改变该变量的值。
每小时运行此脚本并确保此变量现在的值是上次运行此脚本时设置的值。
我主要在寻找如何设定和保留价值。我执行了以下操作,但没有成功。
export last_build="hello"
source .bashrc
然后在我处理这个变量的脚本中
echo $last_build
export last_build="hello again"
echo $last_build
当我运行这个脚本时,我得到类似的信息
hello
hello again
当我第二次运行时,我期望输出是
hello again
hello again
但它仍然给出与第一次运行相同的输出。
shell 变量是按进程存储的,因为每个 shell 脚本都是它自己的进程,因此不能以这种方式跨进程保存变量。有进程间通信的多种方式 http://www.thegeekstuff.com/2010/08/ipcs-command-examples/#more-5465, 尽管:
- Pipes
- 共享内存
- 消息队列
- 信号量
- Files
就您的目的而言,文件似乎是最简单的方法。使用 bash 写入文件:
echo $VAR > /tmp/process.tmp.file.txt
并从中读取:
export VAR=`cat /tmp/process.tmp.file.txt`
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)