Job-Control
像“3”這樣的純數字是有效的工作規範嗎?
我正在讀一本關於 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
.