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


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.