GNU/Linux >> Belajar Linux >  >> Linux

Kapan Seseorang Mendapatkan Pesan Kesalahan "pekerjaan:Tidak Ditemukan"?

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.


Linux
  1. File metadata tidak cocok dengan checksum – kesalahan YUM!

  2. Perbedaan Antara Perintah Bawaan Dan Yang Tidak?

  3. Alat Untuk Mendapatkan Garis Dalam Satu File Yang Tidak Di File Lain?

  1. Mengapa Tidak Ada yang Menggunakan Shell Bourne Sejati Sebagai /bin/sh?

  2. Mengapa Regex Di Bash Hanya Bekerja Jika Itu Adalah Variabel Dan Tidak Secara Langsung??

  3. Bagaimana cara mendapatkan PYTHONPATH di shell?

  1. Panggilan balik terdaftar tidak cocok dengan URL yang disediakan – Perbaiki Kesalahan WSO2

  2. Cara memperbaiki "command not found" ketika muncul terminal mulai di ubuntu

  3. Apa yang harus saya lakukan ketika mendapat pesan kesalahan KEYEXPIRED setelah pembaruan apt-get?