টার্মিনালে আমি কীভাবে এক্স বার চালিত করব?
আমি পড়েছি যে আমাকে একটি বিন / ব্যাশ টিএসটি করতে হবে, তবে আমি এই এক্স বারটি কার্যকর করতে জানি না।
টার্মিনালে আমি কীভাবে এক্স বার চালিত করব?
আমি পড়েছি যে আমাকে একটি বিন / ব্যাশ টিএসটি করতে হবে, তবে আমি এই এক্স বারটি কার্যকর করতে জানি না।
উত্তর:
আপনি ব্যবহার করতে পারেন xargsএবং seq। সাধারণত:
seq nr_of_times_to_repeat | xargs -Iz command
উদাহরণ স্বরূপ:
seq 10 | xargs -Iz xdotool click 1
xdotool click 1কমান্ডটি 10 বার কার্যকর করবে ।
একটি টার্মিনাল খুলুন এবং নিম্নলিখিত bashকমান্ডটি ব্যবহার করুন :
for i in {1..5}; do xdotool click 1; done
কিছুটা ভার্বোসিটি এবং 1s বিলম্ব সহ:
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
সমস্ত নতুন কম্পিউটারের একাধিক কোর রয়েছে তবে বেশিরভাগ প্রোগ্রাম প্রকৃতির সিরিয়াল এবং তাই একাধিক কোর ব্যবহার করবে না। তবে, অনেকগুলি কাজ অত্যন্ত সমান্তরাল:
জিএনইউ সমান্তরাল একটি সাধারণ প্যারালালাইজার এবং এটি একই মেশিনে বা আপনার একাধিক মেশিনে ssh অ্যাক্সেস থাকা সমান্তরালে কাজ চালানো সহজ করে তোলে।
যদি আপনার কাছে 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>
সেকেন্ডে সময় সময় এক্স পরিবর্তন।
উদাহরণ:
watch -n 1 xdotool click 1
সুতরাং এক্সডটুল ক্লিক 1 প্রতি 1 টি পুনরাবৃত্তি হবে, আপনার হয়ে গেলে এটি বন্ধ করুন।