像“3”这样的纯数字是有效的工作规范吗?

像“3”这样的纯数字是有效的工作规范吗?

我正在读一本关于 Linux 的书。它指出要将进程置于前台,请使用命令fg和百分号 (%),后跟作业号。我做了一些测试,发现它按预期工作。但我还发现我可以使用一个简单的数字作为作业规范,例如fg 3(而不是fg %3),这也可以将第三个进程带到前台。一个简单的数字可以被视为有效的工作规范吗?

答案1

Bash 似乎接受fg 3等,但我不确定文档对此是否过于明确。

描述fg只是说它需要“工作规范”,并且他们的描述说“字符‘%’引入了工作规范(jobspec)。”并且%似乎包含在所有示例中。

我尝试过的其他 shell(Dash、ksh 和 zsh)不接受普通数字,因此它看起来像是仅限 Bash 的东西。

请注意,kill可以采用作业规范或进程 ID,因此 和kill %3都是kill 3有效的,它们只是意味着不同的东西。这也意味着一般来说,普通数字不能作为工作规范,因此最好坚持使用%3.

相关内容