Menggunakan perintah arloji dengan argumen yang berisi tanda kutip


15

Saya mencoba agar arloji berfungsi dengan benar dengan perintah yang berisi tanda kutip, dan halaman manual arloji tidak terlalu mendetail tentang cara kerja tanda kutip. Untuk memberikan contoh nyata, bagaimana saya bisa menjalankan perintah berikut di dalam arloji:

ps -ef | awk -F' ' '{print $2}'

Saya sudah mencoba:

watch "ps -ef | awk -F' ' '{print $2}'"

dan

watch 'ps -ef | awk -F\' \' \'{print $2}\''

tetapi tak satu pun dari ini bekerja dengan benar.

Jawaban:


18

Saya kira Anda harus melarikan diri dari $tanda:

watch "ps -ef | awk -F' ' '{print \$2}'"

jika tidak maka akan ditafsirkan oleh shell yang akan menghasilkan string kosong ( "") - yaitu awkakan mencetak seluruh baris.


7

Anda selalu bisa memasukkan perintah ke skrip shell, lalu "menonton" skrip.


2

Saya baru saja bertemu masalah yang sama. Setelah membaca arloji Man Page , saya menemukan solusi yang bisa bekerja, yaitu menyatukan string dalam bash. Perintah terakhir tampak aneh, seperti:

watch "ps -ef | awk -F' ' '"'{print $2}'"'"

atau

watch 'ps -ef | awk -F'"' ' '"'{print $2}'"'"
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.