मैं टर्मिनल में एक्स प्रोग्राम को कैसे निष्पादित करूं?
मैंने पढ़ा कि मुझे एक बिन / बैश txt करना है, लेकिन मुझे नहीं पता कि इस एक्स को कैसे निष्पादित किया जाए।
मैं टर्मिनल में एक्स प्रोग्राम को कैसे निष्पादित करूं?
मैंने पढ़ा कि मुझे एक बिन / बैश txt करना है, लेकिन मुझे नहीं पता कि इस एक्स को कैसे निष्पादित किया जाए।
जवाबों:
आप उपयोग कर सकते हैं xargsऔर seq। आम तौर पर:
seq nr_of_times_to_repeat | xargs -Iz command
उदाहरण के लिए:
seq 10 | xargs -Iz xdotool click 1
xdotool click 110 बार कमांड निष्पादित करेगा ।
एक टर्मिनल खोलें और निम्न bashकमांड का उपयोग करें :
for i in {1..5}; do xdotool click 1; done
थोड़ी सी शालीनता और 1 एस देरी के साथ:
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
$। यह सिर्फ एक संकेत की तरह संकेत करने के लिए वहाँ है sylvain@sylvain-ThinkPad-T430s:~$। हम आमतौर पर इसे कमांड लाइन के उत्तर में जोड़ते हैं ताकि कमांड को उसके परिणामों से अलग किया जा सके।
#!/bin/bash
x=1
while [ $x -le 10 ]
do
<command to run>
x=$(( $x + 1 ))
done
जहां कमांड चलाने के लिए 10 बार संख्या है
अगर आपको थोड़ा ब्रेक में निर्माण करने की आवश्यकता है:
#!/bin/bash
x=1
while [ $x -le 10 ]
do
<command to run>
sleep 1
x=$(( $x + 1 ))
done
स्क्रिप्ट को एक खाली फ़ाइल में कॉपी करें, <command to run>अपने xdotoolकमांड द्वारा प्रतिस्थापित करें , इसे सहेजें run_xdotool.sh, इसे कमांड द्वारा चलाएं:
sh /path/to/run_xdotool.sh
वैकल्पिक रूप से, आप इसे निष्पादन योग्य बना सकते हैं और बस इसे चला सकते हैं
/path/to/run_xdotool.sh
चूँकि आप क्लिक करने के लिए इसका उपयोग करने का उल्लेख करते हैं, इसलिए सबसे आसान हो सकता है कि xdotoolआप स्वयं के बनाए हुए रिपीट विकल्प का उपयोग करें। प्रारूप है:
xdotool click --delay <delay> --repeat <repeats> <button>
(delay in milliseconds between the clicks)
एक पंक्ति में 10 माउस क्लिक (1 बटन) करने के लिए, बीच में एक सेकंड, कमांड है:
xdotool click --delay 1000 --repeat 10 1
यदि आपके पास जीएनयू समानांतर है तो आप चला सकते हैं:
seq 10 | parallel -N0 doit
सभी नए कंप्यूटरों में एकाधिक कोर होते हैं, लेकिन अधिकांश प्रोग्राम प्रकृति में धारावाहिक होते हैं और इसलिए एकाधिक कोर का उपयोग नहीं करेंगे। हालाँकि, कई कार्य अत्यंत समांतर हैं:
जीएनयू समानांतर एक सामान्य समांतरक है और इससे एक ही मशीन पर या आपके द्वारा उपयोग की जाने वाली कई मशीनों पर समानांतर में नौकरी चलाना आसान हो जाता है।
यदि आपके पास 32 अलग-अलग नौकरियां हैं जिन्हें आप 4 सीपीयू पर चलाना चाहते हैं, तो समानांतर करने के लिए एक सीधा आगे का तरीका प्रत्येक सीपीयू पर 8 नौकरियों को चलाना है:

जीएनयू समानांतर इसके बजाय एक नई प्रक्रिया को जन्म देता है जब एक खत्म हो जाता है - सीपीयू को सक्रिय रखना और इस तरह समय की बचत करना:

स्थापना
एक व्यक्तिगत स्थापना के लिए रूट एक्सेस की आवश्यकता नहीं होती है। इसे 10 सेकंड में किया जा सकता है:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash
अन्य संस्थापन विकल्पों के लिए देखें http://git.savannah.gnu.org/cgit/parallel.git/tree/README
और अधिक जानें
अधिक उदाहरण देखें: http://www.gnu.org/software/parallel/man.html
इंट्रो वीडियो देखें: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
ट्यूटोरियल के माध्यम से चलो: http://www.gnu.org/software/parallel/parallel_tutorial.html
समर्थन पाने के लिए ईमेल सूची के लिए साइन अप करें: https://lists.gnu.org/mailman/listinfo/parallel
parallel -N0 doit ::: {1..10}
{1..10}(टी) csh / मछली / राख में काम नहीं करता है, और {1..10}निर्माण तो यह काम नहीं करेगा, कमांड लाइन की लंबाई से सीमित है: {1..1000000000}जबकि seq 1000000000ठीक काम करेंगे। लेकिन ज्यादातर स्थितियों {1..10}में उम्मीद के मुताबिक काम होगा, और मैं अक्सर इसका इस्तेमाल करता हूं।
आप एक सी स्टाइल forलूप का उपयोग कर सकते हैं जिसमें {1..5}अंतिम बिंदुओं को निर्दिष्ट करने के लिए चर का उपयोग करने में सक्षम होने के ब्रेस-विस्तार संस्करण ( ) पर लाभ है । या तो संस्करण बाहरी उपयोगिता ( seq) का उपयोग करने से बेहतर है ।
t=5
for ((x = 1; x <= t; x++))
do
xdotool click 1
done
सभी एक लाइन पर:
t=5; for ((x = 1; x <= t; x++)); do xdotool click 1; done
या आप इसे लूप के बिना करने में सक्षम हो सकते हैं (इस विशिष्ट उपयोगिता और कार्य के लिए):
xdotool click --repeat 5 --delay 50 1
बस आप घड़ी कमांड का उपयोग कर सकते हैं:
watch -n x <your command>
सेकंड में x को समय पर बदलें।
उदाहरण :
watch -n 1 xdotool click 1
तो xdotool क्लिक 1 को हर 1 s दोहराया जाएगा, इसे तब करें जब आपका काम पूरा हो जाए।