Jawaban:
Mereka harus membedakan antara pekerjaan saat ini dan sebelumnya; pekerjaan terakhir dan pekerjaan terakhir kedua untuk lebih dari dua pekerjaan, dengan +
untuk pekerjaan terakhir dan -
terakhir.
Dari man bash
:
Pekerjaan sebelumnya dapat dirujuk menggunakan
%-
. Jika hanya ada satu pekerjaan,%+
dan%-
keduanya bisa digunakan untuk merujuk ke pekerjaan itu. Dalam output yang berkaitan dengan pekerjaan (misalnya, output dari perintah pekerjaan), pekerjaan saat ini selalu ditandai dengan a+
, dan pekerjaan sebelumnya dengan a-
.
$ sleep 5 &
[1] 21795
$ sleep 5 &
[2] 21796
$ sleep 5 &
[3] 21797
$ sleep 5 &
[4] 21798
$ jobs
[1] Running sleep 5 &
[2] Running sleep 5 &
[3]- Running sleep 5 &
[4]+ Running sleep 5 &
$
[1] Done sleep 5
[2] Done sleep 5
[3]- Done sleep 5
[4]+ Done sleep 5
Saya kira Anda merujuk ketika Anda memeriksa pekerjaan melalui $jobs
. Namun, seperti yang mungkin sudah Anda ketahui, n
menunjukkan pekerjaan #. The [n] +
menunjukkan pekerjaan akhir yang disebut.
[n] -
menunjukkan pekerjaan kedua hingga terakhir yang disebut.
Sebagai contoh:
chris@chris-VirtualBox:~$ sleep 30 &
[1] 904
chris@chris-VirtualBox:~$ sleep 50 &
[2] 972
chris@chris-VirtualBox:~$ jobs
[1]- Running sleep 30 &
[2]+ Running sleep 50 &
Itulah sebabnya, dalam hal ini, kami sleep 50 &
adalah yang terakhir: [2]+
dan sleep 30 &
yang kedua ke yang terakhir:[1]-