![Linux Shell 中的持久全局变量](https://linux22.com/image/1509394/Linux%20Shell%20%E4%B8%AD%E7%9A%84%E6%8C%81%E4%B9%85%E5%85%A8%E5%B1%80%E5%8F%98%E9%87%8F.png)
我有一个脚本,在某些情况下需要为其他脚本“打开一盏灯”,并且由于环境变量仅对创建它的子进程可用,因此我不得不使用文件来记住在其他 shell 中生成的状态信息。我通过 incrontab 调用所有脚本,这意味着它们不是单个 shell 的子进程(如果我没记错的话)。
更新:我已将标题从“持久环境变量”更改为“Linux shell 中的持久全局变量”
答案1
您必须调整每个脚本以避免竞争条件,因此您需要提出某种锁定机制。
你可以使用/dev/shm
它并像处理文件一样处理它。这应该可以从每个 shell 访问。你必须注意权限。我认为你没有选择在所有 bash 实例之间共享变量。