如何使shell脚本在运行时对源进行更改

YGA*_*YGA 11 shell

有人注意到,如果修改shell脚本的源代码,那么当前运行的任何实例都可能会失败吗?

这在我看来非常糟糕; 这意味着我必须确保在进行更改之前停止脚本的所有实例.我的首选行为是现有脚本继续使用旧源代码运行,新实例使用新代码(例如perl和python程序会发生什么).

除了将shell脚本预先复制到临时文件并从中运行之外,人们对此行为有什么好的解决方法吗?

谢谢,/ YGA

Ano*_*ous 18

以下其他答案非常轻微的补充:

#!/bin/sh
{
    # Your stuff goes here
    exit
}
Run Code Online (Sandbox Code Playgroud)

exit在年底非常重要.否则,可能仍会在末尾访问脚本文件以查看是否还有其他行要解释.

这个问题后来在这里重新发布:shell脚本是否可以指示其行最初是否已加载到内存中?