শেষ কমান্ড-লাইন আর্গুমেন্টটি পেতে কীভাবে ash #! # B ব্যাশে কাজ করে?


19

শেষ কমান্ড-লাইন আর্গুমেন্টটি পেতে, অ্যাডভান্সড ব্যাশ-স্ক্রিপ্টিং গাইড থেকে:

বা: lastarg=${!#} এটি একটি হল পরোক্ষ উল্লেখ করার $#পরিবর্তনশীল।
নোট যে lastarg=${!$#}কাজ করে না।


4
একদিকে যেমন, এবিএসটি রেফারেন্স হিসাবে যথেষ্ট ভ্রান্ত হয়; irc.freenode.org # বাশ চ্যানেলে এর ফ্যাক্টয়েডের ইতিহাসের জন্য wooledge.org/~greybot/meta/abs দেখুন । ব্যাশ-হ্যাকাররা 'উইকি এবং Wooledge BashGuide সম্প্রচার ঘনত্ব জন্য কুখ্যাত যেমন হয় না। পরবর্তী সময়ে, অপ্রত্যক্ষ রেফারেন্সগুলি বাশএফএইউ # 6 এ বিস্তারিতভাবে কভার করা হয় ; পূর্বের, উইকি.বাশ- হ্যাকারস.আর.জি.
চার্লস ডাফি

1
শুধু একটি প্রশ্ন: !$সহজ এবং এক নয়?
আনংসট

উত্তর:


27

যেমন এটি বলে যে এটি একটি পরোক্ষ রেফারেন্স। নিম্নলিখিত উদাহরণটি ধরুন:

$ var=test
$ test='Hello, world'
$ echo ${!var}
Hello, world

এখন যদি আমি নিম্নলিখিত অবস্থানের পরামিতিগুলি সেট করে থাকি:

$ set -- one two three

এবং $#অবস্থানগত পরামিতিগুলির মোট সংখ্যাকে উপস্থাপন করবে:

$ echo $#
3

এর অর্থ যখন আমি এটিকে কল করি যখন আমি বলি যে ${!#}আমাকে নামের প্যারামিটারটির মান দিন 3:

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