Job-Control

像“3”這樣的純數字是有效的工作規範嗎?

  • April 11, 2022

我正在讀一本關於 Linux 的書。它指出要將程序置於前台,請使用fg命令和百分號 (%),後跟作業編號。我做了一些測試,發現它按預期工作。但我也發現我可以使用一個簡單的數字作為jobspec,比如fg 3(而不是fg %3),它也可以將第三個程序帶到前台。一個簡單的數字可以被認為是一個有效的工作規範嗎?

Bash 似乎接受fg 3等等,但我不確定文件對此是否過於明確。

描述fg只是說它需要一個“jobspec”,而他們的描述說“字元’%‘介紹了一個工作規範(jobspec)”。並且%似乎包含在所有範例中。

我嘗試過的其他 shell(Dash、ksh 和 zsh)在那裡不接受純數字,所以它看起來像是一個僅限 Bash 的東西。

請注意,kill可以採用作業規範或程序 ID,因此兩者kill %3都是kill 3有效的,它們只是意味著不同的東西。這也意味著一般來說,一個普通的數字不能作為工作規範,所以最好堅持使用%3.

引用自:https://unix.stackexchange.com/questions/698735