Diperlukan bantuan - dalam konteks skrip shell pada bash GNU / LINUX:
Saya selalu menggunakan set -e
. Seringkali, saya ingin grep
dan tidak selalu ingin skrip menghentikan eksekusi jika grep
memiliki status keluar yang 1
menunjukkan pola tidak ditemukan.
Sesuatu yang saya coba untuk memecahkan masalah ini adalah sebagai berikut:
(Coba saya)
Jika set +o pipefail
dan aktifkan grep dengan sesuatu seperti grep 'p' | wc -l
maka saya mendapatkan perilaku yang diinginkan sampai pengelola masa depan memungkinkan pipefail
. Saya juga suka mengaktifkan pipefail
jadi ini tidak berfungsi untuk saya.
(Coba II)
Gunakan pola pencocokan garis cetak dan sed
atau awk
hanya, kemudian wc
garis yang cocok untuk menguji pola yang cocok. Aku tidak suka pilihan ini karena menggunakan sed
untuk grep
tampak seperti solusi untuk masalah saya benar.
(Coba III) Yang
ini adalah favorit saya yang paling sedikit - seperti:set +e; grep 'p'; set-e
Setiap wawasan / idiom akan sangat dihargai - terima kasih.