Sanırım bunun senin için yapabileceğini?
eval $(printf 'ping "%s" & ' host1 host2 host3)
Bu yararlanır printf
her argüman üzerindeki biçim dizesi yeniden kullanırken bağımsız değişkenleri 'otomatik' döngü için bireyin yeteneği. Bu printf
nedenle yukarıdakiler ping <hostname> &
, argüman olarak sağlanan her ana bilgisayar için bir dizi dizisi üretir ve bu tür bir komut dizisini Komut Değiştirme yoluyla eval
derhal çalıştırmalarını emrederek besler .
printf
ve eval
komutlar POSIX standardı ve ayrıca Komuta Değiştirme.
Bu komutun tamamını, aşağıdaki gibi bir ve içeren bir alt kabuk içine yerleştirme wait
:
(eval $(printf 'ping "%s" & ' host1 host2 host3) && wait)
Her şeyi irade ile basit bir şekilde kesmek için yeteneği sağlar Ctrl+C.
Aksi takdirde, her bir ping
komutu kabuğun normal iş kontrolü ile tek tek kontrol edebilirsiniz.
Kabuğunuzun İşlem Değişiklikleri için de desteği varsa, aşağıdakileri de kullanabilirsiniz:
. <(printf 'ping "%s" & ' host1 host2 host3)
birkaç karakter yazmak için daha az.
Oysa, ile aynıdır eval
, ancak ping
s sırasını İşlem Değiştirme yoluyla .
(aka source
) komutuna besler .