Terminalde bir programı X kez nasıl çalıştırırım?
Bir bin / bash txt yapmak zorunda olduğumu okudum, ama bu X kere nasıl çalıştırılacağını bilmiyorum.
Terminalde bir programı X kez nasıl çalıştırırım?
Bir bin / bash txt yapmak zorunda olduğumu okudum, ama bu X kere nasıl çalıştırılacağını bilmiyorum.
Bir Terminal açın ve aşağıdaki bash
komutunu kullanın:
for i in {1..5}; do xdotool click 1; done
Biraz ayrıntı ve 1s gecikme ile:
for i in {1..5}; do echo click \#$i && xdotool click 1 && sleep 1; done
click #1
click #2
click #3
click #4
click #5
#!/bin/bash
x=1
while [ $x -le 10 ]
do
<command to run>
x=$(( $x + 1 ))
done
Burada 10 komutu çalıştırmak için kaç kez
Biraz ara vermeniz gerekiyorsa:
#!/bin/bash
x=1
while [ $x -le 10 ]
do
<command to run>
sleep 1
x=$(( $x + 1 ))
done
Komut dosyasını boş bir dosyaya kopyalayın, <command to run>
'yini xdotool
komutunuzla değiştirin, run_xdotool.sh
olarak kaydedin, komutla çalıştırın:
sh /path/to/run_xdotool.sh
Alternatif olarak, bunu yürütülebilir hale getirebilir ve sadece
ile çalıştırabilirsiniz./path/to/run_xdotool.sh
Tıklama yapmak için kullanacağınızdan bahsetmiş olduğunuzdan, en kolayı xdotool
'nin kendi dahili tekrarlama seçeneğini kullanmak olabilir. Biçim:
xdotool click --delay <delay> --repeat <repeats> <button>
(delay in milliseconds between the clicks)
Bir satırda 10 fare tıklaması yapmak (tuş 1), aralarında bir saniye, komut:
xdotool click --delay 1000 --repeat 10 1
Bitiş noktalarını belirtmek için değişkenleri kullanabilmenin brace-genişletme sürümüne ( for
) göre avantajı olan bir C stili {1..5}
döngüsü kullanabilirsiniz. Her iki sürüm de harici bir yardımcı program kullanmaktan daha iyidir ( seq
).
t=5
for ((x = 1; x <= t; x++))
do
xdotool click 1
done
Hepsi bir satırda:
t=5; for ((x = 1; x <= t; x++)); do xdotool click 1; done
Ya da bir döngü olmadan bunu gerçekleştirebilirsiniz (bu özel yarar ve işlev için):
xdotool click --repeat 5 --delay 50 1
Eğer GNU Paralel'iniz varsa şunları çalıştırabilirsiniz:
seq 10 | parallel -N0 doit
Tüm yeni bilgisayarlarda birden çok çekirdek var, ancak çoğu program doğası gereği seridir ve bu nedenle birden çok çekirdek kullanmaz. Ancak, birçok görev son derece paraleldir:
GNU Paralel, genel bir paralelleştiricidir ve aynı makinede veya ssh erişiminiz olan birden fazla makinede paralel olarak işleri kolayca çalıştırır.
Eğer 4 farklı işlemci üzerinde çalışmak istediğiniz 32 farklı işiniz varsa, paralel işlemek için düz bir yol, her CPU'da 8 iş çalıştırmaktır:
Bunun yerine GNU Paralel, bir işlemci bittiğinde yeni bir işlem oluşturur - CPU'ları aktif tutmak ve böylece zamandan tasarruf etmek:
Kurulum
Kişisel kurulum kök erişimi gerektirmez. Bunu yaparak 10 saniye içinde yapılabilir:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash
Diğer yükleme seçenekleri için bkz. İşte
Daha fazla bilgi edinin
Daha fazla örneğe bakın: İşte
Tanıtım videolarını izleyin: İşte
Eğiticiyi gözden geçirin: İşte
Destek almak için e-posta listesine kaydolun: İşte
Sadece izleme komutunu kullanabilirsiniz:
watch -n x <your command>
saniye cinsinden süreye değiştirin.
Örnek:
watch -n 1 xdotool click 1
Yani xdotool tıklayın 1 her 1 saniyede tekrarlanacak, bittiğinde sona erecektir.
Etiketlerdeki diğer soruları oku command-line