শেল স্ক্রিপ্টগুলিতে মাল্টি-লাইন কমান্ড কীভাবে মন্তব্য করবেন?


19

দীর্ঘ, স্যুইচ-ভারী কমান্ডগুলি চাওয়ার সময় এগুলি শেল স্ক্রিপ্টগুলিতে লেখাই ভাল অনুশীলন। এই ধরনের স্ক্রিপ্টগুলিতে মন্তব্য করার লাইনের কি সহজ উপায় আছে? আমি নিম্নলিখিত পদ্ধতিগুলি চেষ্টা করেছিলাম, কিন্তু কার্যকর হয় না।

# the \ is also commented out, resulting in "command" and "--good-switch".
command \
  #--bad-switch \
  --good-switch \

# seems to send an extra argument to the command
command \
  \ #--bad-switch \
  --good-switch
shell 

1
দ্বিতীয়টি একটি আর্গুমেন্ট হিসাবে একটি স্থান প্রেরণের কারণ ঘটায় ( \ পরের অক্ষরটি থেকে পালিয়ে যায়, যা নিউলাইনগুলিকে "লুকায়" তবে স্থানগুলি উল্লেখযোগ্য করে তোলে)।
গাইকোসর

উত্তর:


14

এটি একটি বিকল্প হতে পারে: কমান্ডটি সংরক্ষণ করুন এবং একটি অ্যারেতে আরগস রাখুন, তারপরে এটি কার্যকর করুন

# build the command
cmd=( ls
        -F
      # -a   # comment out this option temporarily
        -l
    )
# $cmd is now an array with 3 elements

# execute it
"${cmd[@]}"

এটি কেবলমাত্র bash
Socob

3

আমি সর্বদা কমেন্টের ঠিক পরে মন্তব্যগুলি স্থানান্তরিত করেছি।

command \
  --good-switch
# --bad-switch          with explanation here, if needed

0

সমস্যাটি হ'ল লাইনটি বিশ্লেষণের আগে স্ল্যাশগুলি সরিয়ে ফেলা হয়েছে, সুতরাং প্রথম কমান্ডটি এমনভাবে পার্স করা হবে যেন আপনি লিখেছিলেন command #--bad-switch --good-switch। আপনার যদি কমান্ডগুলির সত্যই দীর্ঘ ধারা থাকে তবে উদাহরণস্বরূপ আপনি উপরে বা নীচে একটি লাইন বাই লাইন মন্তব্য ব্লক লিখতে পারেন, প্রতিটি পরিবর্তনকে ব্যাখ্যা করে অথবা আপনি প্যারামিটারগুলিকে একটি ভেরিয়েবলের মধ্যে সঞ্চয় করতে পারেন (যদিও এটি প্রায়শই মাথা ব্যথার সাথে উদ্ধৃতি দেয়) বিশেষ অক্ষর).


1
ব্যাপারটা মনে হয় না। --good-switchকমান্ড হিসাবে ব্যাখ্যা করা হয়।

0

ডিজিটাল রস দ্বারা উত্তর দেখুন ।

ধারাবাহিকতা চরিত্রের পরে মন্তব্যে মাল্টি লাইন কমান্ডকে বাশ করা আমি সবেমাত্র পোস্ট করা প্রশ্নটিও দেখুন ।

এটি একটি দরকারী বৈশিষ্ট্য হবে। এটি একটি করুণ বিষয় যে এটির স্ট্যান্ডার্ড সমর্থন নেই।


0

একটি মন্তব্য কনটেস্টেড লাইনের চেইনটিকে ব্রেক করে, তাই সহজ সমাধান হ'ল তালিকার শেষে মন্তব্য করা রেখাগুলি সরিয়ে নেওয়া।

command \
  --good-switch \
  # --bad-switch \

আপনি যদি আদেশটি পরিবর্তন করতে না চান :তবে সংযুক্ত রেখাগুলি অক্ষত রাখতে আপনি কমান্ডটি (কোলন ইউটিলিটি, যা কিছুই করেনা) ব্যবহার করতে পারেন :

command \
  `: --bad-switch `\
  --good-switch \

আমি এটি দিয়ে পরীক্ষা করেছি:

function command { 
  echo "num args:" $#;
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.