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