benHer xargs komutu arasında 1 saniye nasıl uyulur? Örneğin
ps aux | awk '{print $1}' | xargs -I {} echo {}
yürütmek eğer her echo
arasında 1 saniye süreyle kabuk uyku izin vermek istiyorum.
Kabuk komutumu nasıl değiştirebilirim?
benHer xargs komutu arasında 1 saniye nasıl uyulur? Örneğin
ps aux | awk '{print $1}' | xargs -I {} echo {}
yürütmek eğer her echo
arasında 1 saniye süreyle kabuk uyku izin vermek istiyorum.
Kabuk komutumu nasıl değiştirebilirim?
Sen sözdizimi aşağıdaki kullanabilirsiniz:
ps aux | awk '{print $1}' | xargs -I % sh -c '{ echo %; sleep 1; }'
olsa boşluk ve noktalı virgül ile dikkatli olun. Parantezler arasındaki her komuttan sonra, noktalı virgül gereklidir (sonuncudan sonra bile). senin
awk
destekliyorsa
içeren sleepecho
adında bir kabuk komut dosyası tarafından
#!/bin/sh
sleep 1
echo $*
echo
değiştirin:
ps aux | awk '{ system("sleep 1"); print $1 }' | xargs -I {} echo {}q
veya awk
atlayıp tamamen xargs
ps aux | while read -r user rest;
echo $user
sleep 1;
done
ben ne yapmalıyımİç kabukta bazı $ VARIABLE kullanmalıyım? Varsayılan olarak devralmaz. –
Sanırım miras kalıyor. Örneğin: 'a = abc'yi dışa aktarın ve' echo% 'yerine' echo $ a% 'değerini kullanın. – kamituel
Bana işaret eden bir iş arkadaşınız, bir xargs çağrısını diğerine pipetleyebilmenizdir, bu da tek tırnaklar arasına koymak için trickier bir komutunuz varsa kullanışlıdır: 'psql -c 'çubuğundan foo seçin | xargs -I% sh -c '{echo%; 1 uyku; } '| xargs -L1 -I {} curl -X POST-H "Content-Type: uygulama/json" -d "{ " kod ":" 123 ", " foo ":" {} " } '" https: //myapi.com/baz "' – cdf