Watch komutunu tırnak işaretleri içeren bir bağımsız değişkenle kullanma


15

Saatin tırnak içeren komutlarla doğru çalışmasını sağlamaya çalışıyorum ve saatlerin sayfası tırnakların nasıl çalıştığı hakkında çok ayrıntılı değil. Somut bir örnek vermek gerekirse, saatin içinde aşağıdaki komutu nasıl çalıştırabilirim:

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

Denedim:

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

ve

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

ancak bunların ikisi de doğru çalışmıyor.

Yanıtlar:


18

Sanırım $işaretten kaçmak zorundasın :

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

aksi takdirde boş bir dizeyle ( "") sonuçlanacak olan kabuk tarafından yorumlanır - yani awktüm satırı basar.


7

Komutunuzu her zaman bir kabuk betiğine koyabilir, sonra betiği "izleyebilirsiniz".


2

Ben de benzer bir problemle karşılaştım. Saat Man Sayfasını okuduktan sonra , işe yarayabilecek bir çözüm buldum, bu da bash dizelerini birleştirmekti. Son komut tuhaf görünüyordu, örneğin:

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

veya

watch 'ps -ef | awk -F'"' ' '"'{print $2}'"'"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.