harap dicatat bahwa dengan menggunakan ini, Anda kehilangan kendali atas pekerjaan di dalam shell penelepon (tidak jobsakan menunjukkan apa-apa).
mighq
36
Jalankan shell built-in:
$ set+m
Ini bekerja dengan mematikan "mode monitor" sehingga shell tidak melaporkan penghentian pekerjaan latar belakang.
Meskipun menjalankan perintah dalam subkulit seperti:
$ (sleep 2&)
... juga akan menonaktifkan pesan, satu-satunya alasan kerjanya adalah karena mode monitor diaktifkan secara default hanya untuk shell interaktif. Artinya, subshell menghindari pesan dengan menjalankan shell tambahan yang memiliki "set + m" otomatis.
Orang harus mencatat, bahwa output ini tidak dilakukan oleh tidur. Ini adalah bash shell yang baru saja memberi tahu Anda tentang pekerjaan latar belakang yang sudah selesai.
flolo
8
Saya ingin memperjelas dua jawaban sebelumnya. Jika yang Anda inginkan adalah untuk tidak pernah melihat pesan Selesai dari perintah apa pun di shell Anda, set +madalah cara untuk melakukannya. Masukkan saja ke dalam .profile dan / atau .bashrc Anda dan selesai. Perhatikan bahwa jika Anda mengetik ini:
set+m
sleep 2&set-m
dan tidur berakhir setelah final set -m, Anda masih akan mendapatkan pesan selesai.
Jika Anda ingin menonaktifkan pesan untuk permintaan perintah tunggal, teknik subkulit (sleep 2 &)adalah cara yang harus dilakukan.
Dalam semua kejujuran, saya hanya tahu tentang set +m, jadi +1 untuk Wooble untuk mencerahkan saya. Namun, perlu dicatat bahwa dari dua solusi yang Anda inginkan tergantung pada apa yang Anda coba lakukan.
jobs
akan menunjukkan apa-apa).Jalankan shell built-in:
Ini bekerja dengan mematikan "mode monitor" sehingga shell tidak melaporkan penghentian pekerjaan latar belakang.
Meskipun menjalankan perintah dalam subkulit seperti:
... juga akan menonaktifkan pesan, satu-satunya alasan kerjanya adalah karena mode monitor diaktifkan secara default hanya untuk shell interaktif. Artinya, subshell menghindari pesan dengan menjalankan shell tambahan yang memiliki "set + m" otomatis.
sumber
Saya ingin memperjelas dua jawaban sebelumnya. Jika yang Anda inginkan adalah untuk tidak pernah melihat pesan Selesai dari perintah apa pun di shell Anda,
set +m
adalah cara untuk melakukannya. Masukkan saja ke dalam .profile dan / atau .bashrc Anda dan selesai. Perhatikan bahwa jika Anda mengetik ini:dan tidur berakhir setelah final
set -m
, Anda masih akan mendapatkan pesan selesai.Jika Anda ingin menonaktifkan pesan untuk permintaan perintah tunggal, teknik subkulit
(sleep 2 &)
adalah cara yang harus dilakukan.Dalam semua kejujuran, saya hanya tahu tentang
set +m
, jadi +1 untuk Wooble untuk mencerahkan saya. Namun, perlu dicatat bahwa dari dua solusi yang Anda inginkan tergantung pada apa yang Anda coba lakukan.sumber
Tanpa subkulit , Anda dapat melakukan hal berikut:
Berdasarkan jawaban ini .
sumber