Kapan jobs
perintah mengeluarkan pesan jobs : not found
?
Juga, mengapa perintah man jobs
menolak untuk menampilkan entri apa pun untuk perintah jobs
?
P.S. :Saya berhasil menjalankan jobs
perintah di terminal
Jawaban yang Diterima:
jobs
bukan perintah yang sebenarnya, tetapi perintah yang ada di dalam shell yang Anda gunakan:
[email protected]:~$ type jobs
jobs is a shell builtin
Saat Anda mencoba menjalankannya tanpa shell, Anda akan mendapatkan pesan kesalahan, karena tidak ada biner yang dapat dieksekusi yang disebut jobs
.
Itu juga tidak memiliki halaman manual karena itu hanya bawaan. Lihat di man builtins
seperti yang dikatakan Marco, di man bash
atau di halaman manual masing-masing shell yang Anda gunakan jika Anda tidak menggunakan bash
.
EDIT:untuk menjelaskan apa artinya menjalankan program tanpa shell:ketika sebuah proses di Linux ingin meluncurkan proses lain (fork dan exec), ia dapat membungkus proses ini dalam shell atau meluncurkannya langsung tanpa shell. Misalnya, dalam perl
Anda dapat menggunakan system
berfungsi untuk meluncurkan proses baru. Ini berfungsi dengan baik dengan file program nyata seperti echo
(Saya telah memuat warnings
modul di sini juga sehingga kami dapat melihat pesan kesalahan):
[email protected] ~ % ll /bin/echo
-rwxr-xr-x 1 root root 31K Jan 17 2013 /bin/echo*
[email protected] ~ % perl -Mwarnings -e 'system "echo", "test"'
test
Tapi ini tidak bekerja dengan shell bawaan seperti jobs
, karena tidak ada file biner jobs
:
[email protected] ~ % perl -Mwarnings -e 'system "jobs"'
Can't exec "jobs": No such file or directory at -e line 1.
Tentu saja ketika Anda sudah bekerja di dalam shell interaktif, Anda mungkin tidak akan tersandung masalah ini. Tetapi ini relevan dalam beberapa situasi lain, misalnya ketika Anda menggunakan Gnome Alt +F2 menjalankan dialog. Itu tidak membungkus perintah Anda dalam shell, dan karena itu binari nyata, berfungsi dengan baik, ketika mencoba menjalankan jobs
hanya akan menampilkan pesan kesalahan.
Dari pesan kesalahan asli Anda jobs : not found
Saya berasumsi bahwa Anda entah bagaimana tidak berada di dalam shell, karena di dalam shell jobs
tentu saja harus bekerja dengan baik.