bash - একটি মাল্টি লাইন কমান্ডের জন্য একটি লাইন মন্তব্য কিভাবে রাখুন




shell comments (3)

আপনি একটি অ্যারের মধ্যে আর্গুমেন্ট সংরক্ষণ করতে পারে:

args=(InputFiles      # This is the comment for the 1st line
      # You can have whole lines of comments in between, useful for:
      #--deprecated-option # This isn't use any more
      --option1 arg1  # This is the comment for the 2nd line

      # And even blank lines in between for readability
      --option2 arg2  # This is the comment for the 3nd line
     )
CommandName "${args[@]}"

তবে আমি মনে করি এটি প্রতিটি আর্গুমেন্টের জন্য মন্তব্য করার উদ্দেশ্যে শুধুমাত্র যদি এটি কিছুটা হ্যাকিশ মনে হয়। অতএব আমি এই মন্তব্যটি আবার লিখতে চাই যাতে এটি স্বতন্ত্র আর্গুমেন্টগুলিকে বোঝায় এবং এটি সম্পূর্ণ কমান্ডের উপরে রাখে।

এই প্রশ্নটি ইতিমধ্যে একটি উত্তর আছে:

আমি জানি কিভাবে বাশ স্ক্রিপ্টে একটি মাল্টি লাইন কমান্ড লিখতে হয়, কিন্তু কিভাবে আমি একটি multiline কমান্ডে প্রতিটি লাইনের জন্য মন্তব্য যোগ করতে পারি?

CommandName InputFiles      \ # This is the comment for the 1st line
            --option1 arg1  \ # This is the comment for the 2nd line
            --option2 arg2    # This is the comment for the 3nd line

কিন্তু দুর্ভাগ্যবশত, ধারাবাহিক চরিত্রের পরে মন্তব্য কমান্ডটি ভেঙ্গে দেবে।


আমি ভীত যে, সাধারণভাবে, আপনি যা চাইছেন তা আপনি করতে পারেন না। আপনি যা করতে পারেন তা হল কমান্ডের আগে লাইনের উপর একটি মন্তব্য, বা কমান্ড লাইনের শেষে একক মন্তব্য বা কমান্ডের পরে একটি মন্তব্য।

আপনি এই ভাবে একটি কমান্ড ভিতরে intersperse মন্তব্য পরিচালনা করতে পারবেন না। লাইনগুলি একত্রিত করার উদ্দেশ্যে একটি অভিপ্রায় প্রকাশ করা হয়েছে, তাই সমস্ত উদ্দেশ্য এবং উদ্দেশ্যগুলির জন্য আপনি একটি একক লাইনের মধ্যে মন্তব্যগুলি ছড়িয়ে দেওয়ার চেষ্টা করছেন যা কোনওভাবে কাজ করে না কারণ এটির প্রভাবটির জন্য লাইনের শেষে থাকা উচিত। ।


এই প্রশ্নটির আরেকটি উত্তরে পিজে এর মন্তব্যের উপর ভিত্তি করে, আইএফএসকে একটি পরিবর্তনশীল সহ প্রতিস্থাপন করা হয়েছে যা কোন অ হোয়াইট স্পেস অক্ষর ধারণ করে না।

comment=
who ${comment# This is the command} \
    -u ${comment# This is the argument}




comments