我有一个一般性问题,这可能是由于对 Linux 中进程的处理方式的误解所致。
出于我的目的,我将定义一个“脚本”作为保存到文本文件的 bash 代码片段,并为当前用户启用执行权限。
我有一系列相互调用的脚本。为简单起见,我将它们称为脚本 A、B 和 C。脚本 A 执行一系列语句,然后暂停,然后执行脚本 B,然后暂停,然后执行脚本 C。换句话说,该系列步骤是这样的:
运行脚本A:
我从经验中知道,如果我运行脚本 A 直到第一次暂停,然后在脚本 B 中进行编辑,当我允许它恢复时,这些编辑会反映在代码的执行中。同样,如果我在脚本 A 仍然暂停时对脚本 C 进行编辑,然后在保存更改后允许它继续,这些更改将反映在代码的执行中。
那么真正的问题是,有没有办法在脚本 A 仍在运行时对其进行编辑?或者一旦开始执行就无法编辑?
我想知道像 Thunderbird 或 Firefox 这样的杀手级应用程序如何在它们仍在运行时通过系统的包管理器进行更新。旧代码在更新时会发生什么?当我想编写一个在运行时自我更新的程序 a.out 时,我必须做什么?
我对grep/感到困惑egrep。我认为这些工具与单行相匹配?在某些情况下我听到过“合乎逻辑”的台词。
grep/egrep总是一次处理一行直到新行字符是否正确?