Shell # শেলের অর্থ কী?


25

$#শেল মানে কি ?

আমার মতো কোড রয়েছে

if [ $# -eq 0 ]
then

আমি এর $#অর্থ বুঝতে চাই , তবে গুগল অনুসন্ধান এই ধরণের জিনিসগুলি অনুসন্ধানের জন্য খুব খারাপ।


3
বিরাম চিহ্ন সহ অনুসন্ধানগুলির জন্য, আমি সিম্বহাউন্ড ডট কম ব্যবহার করতে চাই। সাধারণত আমার যা প্রয়োজন তা সন্ধান করে।
এরিক অ্যান্ড্রেস


আরও ভাল রেফারেন্সিং এবং এসইওয়ের জন্য: ঠুং ঠুং শব্দ, সংখ্যা সাইন , তীক্ষ্ণ, ইউ + 0023, & # 35 ;, মন্তব্য চিহ্ন এবং ডলার!
ক্লাইমেন্ট

উত্তর:


37

আপনি সর্বদা আপনার শেলের ম্যান পৃষ্ঠাটি পরীক্ষা করতে পারেন। man bashবলেছেন:

Special Parameters
   #      Expands to the number of positional parameters in decimal.

অতএব শেল স্ক্রিপ্টটি এই জাতীয় কোড সহ কতগুলি পরামিতি দেওয়া হচ্ছে তা পরীক্ষা করতে পারে:

if [ "$#" -eq 0 ]; then
  echo "you did not pass any parameter"
fi

@ NoName আপনি নিজের manসহ প্রায় কোনও কিছু করতে পারেন man। এছাড়াও aproposকিছু সময় চেষ্টা করুন ।
একটি সিভিএন

@ নামকরণ, আপনি জিএনইউ সরঞ্জাম (লিনাক্স, ইত্যাদি) সহ কোনও ওএস ব্যবহার infoকরার সময় ম্যান পৃষ্ঠা, বা সংযোজন সম্পর্কিত তথ্য (খুব বিশদ বিবরণযুক্ত এবং বিভাগযুক্ত) ব্যবহার করতে পারেন , যদি প্যাকেজগুলির কিছু থাকে
অলিভিয়ার ডুলাক

12

আসলে,

`$` refer to `value of` and
`#` refer to `number of / total number`

তাই একসাথে

`$#` refer to `The value of the total number of command line arguments passed.`

সুতরাং, আপনি নিজের $#মতো করে কতগুলি আর্গুমেন্ট / প্যারামিটার পাস করেছেন তা যাচাই করতে এবং কোনও অপ্রত্যাশিত পরিস্থিতি পরিচালনা করতে ব্যবহার করতে পারেন ।

একইভাবে, আমরা আছে

`$1` for `value of 1st argument passed`
`$2` for 'value of 2nd argument passed`

প্রভৃতি


8

এটাই

  1. স্ক্রিপ্ট কল করা হয়েছে যার সাথে পরামিতিগুলির সংখ্যা

  2. স্ক্রিপ্টের মধ্যে দ্বারা নির্ধারিত পরামিতিগুলির সংখ্যা set -- foo bar

  3. (যখন কোনও ফাংশনের মধ্যে ব্যবহার করা হয়) যে পরামিতিগুলির সাথে একটি ফাংশন ডাকা setহত ( সেখানেও কাজ করবে)।

এটি "বিশেষ পরামিতি" ব্লকের ব্যাশ ম্যান পৃষ্ঠায় ব্যাখ্যা করা হয়েছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.