Baru-baru ini saya belajar tentang menonton , tetapi saya kesulitan membuatnya bekerja dengan perintah yang relatif canggih.
Sebagai contoh, saya ingin meminta watch
untuk menjalankan perintah berikut zsh
setiap tiga detik * :
for x in `command_1 | grep keyword | cut -d' ' -f1`; do command_2 "word[word=number]" $x; done
seperti yang Anda lihat baris di atas termasuk tanda kutip tunggal, tanda kutip ganda, di antara karakter khusus lainnya.
Jadi saya mencoba:
watch -n 3 "for x in `my_command | grep keyword | cut -d' ' -f1`; do command2 "rusage[mem=7000]" $x; done"
tapi kemudian saya mendapat:
tidak ditemukan kecocokan untuk x in! @ # $ # ....; selesai
Saya mencoba kombinasi lain tanpa hasil. Ini salah satu dari usaha itu:
watch -n 3 "for x in $(bjobs -w | grep pre_seg | cut -d' ' -f1); do bmod -R "rusage[mem=7000]" $x; done"
yang juga menghasilkan kesalahan serupa.
Ada ide bagaimana membuat ini bekerja?
* Saya juga akan tertarik dengan solusi yang berhasilbash
watch
tidak datang dengan opsi-x
maupun-c
pada mesin saya. Saya mencarinya online dan belum menemukan halaman manual yang menyebutkannya. Apa yang dilakukan opsi ini?-x
memberitahuwatch
untuk tidak melewati perintah melalui shell. Saya baru tahu bahwa ini khusus untuk Debian / Ubuntu, meskipun tidak diindikasikan demikian. Itu-c
diteruskan kezsh
, bukan kewatch
.-x
dan-exec
keduanya ada diwatch
(pada gentoo) saya, jadi ini jelas bukan Debian-spesifik. Mungkin Anda dibandingkan dengan beberapa versi lainwatch
? Milik saya berasal dari paket procps .watch
berasal dariprocps
Debian. Sumber resmi tidak ada--exec
. Paket di Debian (dan turunannya termasuk Ubuntu) menambahkan opsi dalam tambalan khusus-Debian (watch_exec_beep.patch
; ini adalah "Mortys watch exec patch" dari bug # 410967 ). Gentoo mungkin telah mengadopsi tambalan yang serupa.