ধরে নিচ্ছি আপনি দশ বার চালাতে চান, এই সিনট্যাক্সটি কাজ করবে:
parallel -n0 foo.sh ::: {1..10}
parallel
কিছু দৈর্ঘ্যের ( ::: {1..10}
) ইনপুট ক্রম প্রয়োজন এবং আপনাকে ইনপুট ক্রম ( -n0
) এর বিষয়বস্তু উপেক্ষা করতে হবে , আপনি কেবল তার দৈর্ঘ্য সম্পর্কে যত্নশীল।
আপনার মূল কমান্ড parallel foo.sh
:, আপনি কতটা সমান্তরালতা চান তা নির্দেশ করার জন্য কোনও ইনপুট ক্রম নেই। ক্রিপ্টিক সতর্কতা আপনাকে parallel
জানিয়ে দিচ্ছে যে একটি ইনপুট ক্রমের জন্য টার্মিনালটি শুনতে শুরু করবে, এবং সম্ভবত এটি আপনি চান না।
টিউটোরিয়াল উদাহরণ এখানে:
seq 10 | parallel -n0 my_command my_args
কিভাবে এটা কাজ করে:
parallel
সর্বদা কোথাও থেকে একটি ইনপুট ক্রম নেয়। এটি :::
OR বা পূর্ববর্তী একটি ইনলাইন স্পেস-সীমাবদ্ধ অনুক্রম হতে পারে বা কোনও পাইপের মতো ফাইল বা ফাইল লাইক উত্স থেকে একটি নিউলাইন-বিস্মৃত ক্রম হতে পারে। এই উদাহরণে ইনপুট ক্রমটি পাইপ থেকে pipe
seq 10
এক থেকে দশটি পর্যন্ত অঙ্কের একটি নতুন লাইন-সীমিত ক্রম উত্পাদন করে।
-n0
বিকল্প ইনপুট ক্রম মান উপেক্ষা করা সমান্তরাল বলে। আমরা যা যত্ন করি তা হ'ল ক্রমের দৈর্ঘ্য, এর বিষয়বস্তু নয়। অঙ্কগুলি ব্যবহৃত না হলেও, কমান্ডটি এখনও দশবার কার্যকর করা হবে।
আরেকটি উদাহরণ:
parallel -n0 echo -n 'x' ::: {1..5}
কিভাবে এটা কাজ করে:
- ইনপুট ক্রমটি ইনলাইন।
{1..5}
এক থেকে পাঁচ পর্যন্ত একটি স্পেস সীমিত অনুক্রম উত্পাদন করে।
-n0
সিক্যুয়েন্স মানগুলি উপেক্ষা করে (এবং এর 'x'
পরিবর্তে আমরা প্রতিবার স্ট্রিং প্রতিধ্বনি করি ))
- আউটপুট:
xxxxx
তুলনা করা:
parallel echo -n ::: {1..5}
কিভাবে এটা কাজ করে:
- ইনপুট ক্রমটি ইনলাইন।
{1..5}
এক থেকে পাঁচ পর্যন্ত একটি স্পেস সীমিত অনুক্রম উত্পাদন করে।
- ইনপুট ক্রম থেকে প্রতিটি মান আর্গুমেন্ট হিসাবে ব্যবহৃত হয়
echo
। অর্ডার গ্যারান্টিযুক্ত না।
- আউটপুট:
43215
। কোনও আদেশ হতে পারে।