Sanırım bunun senin için yapabileceğini?
eval $(printf 'ping "%s" & ' host1 host2 host3)
Bu yararlanır printfher argüman üzerindeki biçim dizesi yeniden kullanırken bağımsız değişkenleri 'otomatik' döngü için bireyin yeteneği. Bu printfnedenle 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 evalderhal çalıştırmalarını emrederek besler .
printfve evalkomutlar 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 pingkomutu 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 pings sırasını İşlem Değiştirme yoluyla .(aka source) komutuna besler .