লিনাক্সে একাধিক রিমোট সার্ভারে পোর্টগুলির জন্য লুপের জন্য


1

আমার প্রোগ্রামটির স্ক্রিপ্টে বিভিন্ন পোর্ট সহ একাধিক রিমোট সার্ভারে চালানো দরকার, এটি একটি উদাহরণ:

সার্ভার 1 এ, চালানো দরকার:

java -jar test.jar 9001 **.**.**.** 9001
java -jar test.jar 9001 **.**.**.** 9002
java -jar test.jar 9001 **.**.**.** 9003
              .
              .
              .
java -jar test.jar 9001 **.**.**.** 9020

সার্ভার 2 এ, চালানো দরকার:

java -jar test.jar 9001 **.**.**.** 9021
java -jar test.jar 9001 **.**.**.** 9022
java -jar test.jar 9001 **.**.**.** 9023
              .
              .
              .
java -jar test.jar 9001 **.**.**.** 9035

...

সুতরাং স্ক্রিপ্টটি আরও সুবিধাজনকভাবে তৈরি করার জন্য, প্রতিটি সার্ভার স্ক্রিপ্টে লুপের জন্য একাধিক কমান্ড চালানোর জন্য কীভাবে ব্যবহার করবেন?

উত্তর:


2

সার্ভার 1:

for i in $(seq -f "%03g" 1 20)
do
  java -jar test.jar 9001 **.**.**.** 9${i}
done

সার্ভার 2:

for i in $(seq -f "%03g" 21 35)
do
  java -jar test.jar 9001 **.**.**.** 9${i}
done

যখন

seq -f <format> <first> <last>

printfস্টাইল বিন্যাসের স্ট্রিং ব্যবহার করে । বিন্যাসটি টাইপের একটি যুক্তি মুদ্রণের জন্য উপযুক্ত হতে হবে double। এটিতে রূপান্তর স্পেসিফিকেশন থাকতে পারে:

  • %: রূপান্তরকরণের নির্দিষ্টকরণের পরিচয় দেয়
  • 0: রূপান্তরিত মানটি ফাঁকা পরিবর্তে বামদিকে জিরো দিয়ে প্যাড করা হয় (alচ্ছিক)
  • 3: দশমিক অঙ্কের স্ট্রিং (ননজারো প্রথম অঙ্ক সহ) সর্বনিম্ন ক্ষেত্রের প্রস্থ নির্দিষ্ট করে (alচ্ছিক)
  • g: doubleভাসমান পয়েন্ট বা সূচকীয় স্বরলিপিতে প্রকারের আর্গুমেন্ট মুদ্রণ করুন । ট্রেইলিং জিরোগুলি ফলাফলের ভগ্নাংশের অংশ থেকে সরানো হয়; দশমিক পয়েন্ট কেবলমাত্র তখনই প্রদর্শিত হয় যখন এটি কমপক্ষে একটি অঙ্কের অনুসরণ করে। (এটি আমাদের doubleমতো দেখতে একটি মুদ্রণের অনুমতি দেয় integer)

আরও তথ্যের জন্য দেখুন:

man seq
man 3 printf

আপনাকে ধন্যবাদ, আমি উল্লেখ করতে ভুলে গেছি, এখানে সেই একই আদেশগুলি একই সাথে চালানো দরকার, তাহলে লুপের জন্য কীভাবে পরিবর্তন করবেন?
— Andi

আমি এটি বের করে ফেললাম, জাভা কমান্ডের পিছনে শুধু যুক্ত করুন। আপনার সাহায্যের জন্য ধন্যবাদ। কিন্তু% 03g মানে কি?
— Andi

একটি অ্যাড &কমান্ড পর পটভূমি এটা পাঠানোর জন্য।
— আরডিএ

ধন্যবাদ. কিন্তু% 03g মানে কি? মানে বন্দরে "00x"?
— Andi

@ অ্যান্ডি হ্যাঁ ঠিকই, এটি seqসঠিক বিন্যাসটি ব্যবহার করতে বলেছে (বামদিকে শূন্য যুক্ত করতে) আমার আপডেট উত্তরও দেখুন see
— rda
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.