Saat ini saya sedang mencari cara untuk menekan perintah kesalahan di Linux, khususnya, perintah cp
.
Saya lakukan:
root@ubuntu:~$ cp /srv/ftp/201*/wha*/*.jj ~/.
cp: cannot stat `/srv/ftp/201*/wha*/*.jj': No such file or directory
Bagaimana cara saya menekan pesan kesalahan yang dicetak pada layar? Yaitu, saya tidak ingin melihat pesan kesalahan ini di monitor saya.
Jawaban:
Untuk menekan output kesalahan
bash
, tambahkan2>/dev/null
ke akhir perintah Anda. Ini mengarahkan filehandle 2 (STDERR) ke/dev/null
. Ada konstruksi serupa di shell lain, meskipun konstruksi spesifik mungkin sedikit berbeda.sumber
Alihkan pesan kesalahan (STDERR) ke
/dev/null
:Contoh:
sumber
Pertanyaanmu tidak jelas. Hal yang paling masuk akal untuk dilakukan adalah tidak berjalan
cp
sama sekali ketika wildcard tidak cocok dengan file apa pun, daripada menjalankancp
dan menyembunyikan pesan kesalahan.Untuk melakukan itu, jika shell adalah bash, atur
nullglob
opsi sehingga pola wildcard tidak berkembang jika tidak cocok dengan file apa pun. Kemudian periksa apakah polanya meluas ke sesuatu, dan jangan panggilcp
dalam hal itu.Di sh polos, uji apakah gumpalan dibiarkan tidak berubah, menunjuk ke file tidak ada.
sumber
Tambahkan ini di ~ / .bashrc:
kemudian:
sumber
stderr
ke/dev/null
ketika output kesalahan yang tidak diinginkan. Atau menggunakan nama yang berbeda daricp
.cp
.Anda dapat menggunakan salah satu:
1 pilihan:
2>/dev/null
.2 pilihan:
2>&1
Selain Anda dapat menggunakan ini di akhir perintah Anda itu akan menekan pesan kesalahan:
Contoh di sini-
di sini Anda tidak dapat mengambil info apa pun tentang pesan kesalahan. Ex2:
di sini Anda dapat mengambil beberapa info dari file log di bawah ini:
sumber