如果我运行作业,sudo我不能运行kill %1它们(不允许操作)。我的第一个想法是sudo kill %1改用,但这当然也不起作用,因为它不会使用 bash builtin kill。有什么技巧可以使这项工作?
// 我知道如何通过它的 PID 杀死一个进程。问题具体是关于如何使用作业 ID 来终止 sudo 作业。
sudo kill "$(jobs -p %1)"
Run Code Online (Sandbox Code Playgroud)
注意:从技术上讲,这里不需要双引号,因为我们知道 的输出jobs将是一个 PID,因此在$IFS. 然而,引用变量始终是一个好习惯。为了确保您始终如一地使用高质量的编码实践,它们必须是根深蒂固的习惯。$(...)用于反引号,因为反引号是旧的做事方式,它们不太明显。$(...)相对来说是新热。在这种情况下,新的热点已经有几十年的历史了。