আমি শেলটিতে কাজ করতে নতুন এবং এই আদেশগুলি ব্যবহার স্বেচ্ছাসেবী বলে মনে হচ্ছে। একটি পতাকা একটি একক ড্যাশ এবং অন্য একটি ডাবল ড্যাশ আছে কারণ আছে?
আমি শেলটিতে কাজ করতে নতুন এবং এই আদেশগুলি ব্যবহার স্বেচ্ছাসেবী বলে মনে হচ্ছে। একটি পতাকা একটি একক ড্যাশ এবং অন্য একটি ডাবল ড্যাশ আছে কারণ আছে?
উত্তর:
একটি একক হাইফেন একাধিক একক-বর্ণচিহ্নযুক্ত পতাকা অনুসরণ করতে পারে। একটি ডাবল হাইফেন একটি একক, মাল্টিচার্যাক্টর বিকল্পটি উপস্থাপন করে।
এই উদাহরণ বিবেচনা করুন:
tar -czf
এই উদাহরণে, -czf
তিন একক-অক্ষর পতাকা নির্দিষ্ট করে: c
, z
, এবং f
।
এখন অন্য একটি উদাহরণ বিবেচনা করুন:
tar --exclude
এই ক্ষেত্রে, --exclude
নামক একটি একক, মাল্টিচার্যাক্টর বিকল্প নির্দিষ্ট করে exclude
। ডবল হাইফেন কম্যান্ড-লাইন যুক্তি disambiguates, যা সুনিশ্চিত করে যে tar
এটি হিসাবে ব্যাখ্যা করে exclude
বদলে সংমিশ্রণ e
, x
, c
, l
, u
, d
, এবং e
।
cdrecord
উপরের মন্তব্যে বছর পূর্বে উল্লিখিত।
এটি সব প্রোগ্রামের উপর নির্ভর করে। সাধারণত "-" 'সংক্ষিপ্ত' বিকল্পগুলির জন্য ব্যবহৃত হয় (ওয়ান-লেটার, -h), এবং "-" "দীর্ঘ" (এর) বিকল্পগুলির জন্য (- সাহায্য) ব্যবহৃত হয়।
সংক্ষিপ্ত বিকল্পগুলি সাধারণত একত্রিত করা যায় (সুতরাং "-h -a" "-হা" এর সমান)
ইউনিক্সের মতো সিস্টেমে, ASCII হাইফেন-বিয়োগটি সাধারণত বিকল্পগুলি নির্দিষ্ট করতে ব্যবহৃত হয়। চরিত্রটি সাধারণত এক বা একাধিক অক্ষর দ্বারা অনুসরণ করা হয়। একটি আর্গুমেন্ট যা কোনও অক্ষর ছাড়াই নিজেই একক হাইফেন – বিয়োগ তা সাধারণত নির্দিষ্ট করে যে কোনও প্রোগ্রাম স্ট্যান্ডার্ড ইনপুট থেকে আগত ডেটা পরিচালনা করতে হবে বা মান আউটপুটে ডেটা প্রেরণ করা উচিত। দুটি হাইফেন – বিয়োগের অক্ষর (-) কিছু প্রোগ্রামগুলিতে "দীর্ঘ বিকল্পগুলি" নির্দিষ্ট করতে ব্যবহৃত হয় যেখানে আরও বর্ণনামূলক বিকল্পের নাম ব্যবহৃত হয়। এটি জিএনইউ সফ্টওয়্যারটির একটি সাধারণ বৈশিষ্ট্য।
এটি সত্যিই একটি সম্মেলন। তবে এটি পার্সারদের প্রোগ্রামে দেওয়া বিকল্পগুলি সম্পর্কে আরও দক্ষতার সাথে জানতে সহায়তা করতে পারে। এছাড়াও, ঝরঝরে ইউটিলিটিগুলি রয়েছে যা এই আদেশগুলি পার্সিংয়ে সহায়তা করতে পারে, যেমন getopt(3)
বা getopt_long(3)
কোনও প্রোগ্রামের আর্গুমেন্টগুলি পার্স করতে সহায়তা করার জন্য মানহীন standard
এটা সুন্দর, আমরা একাধিক সংক্ষিপ্ত অপশন সংযুক্ত, হিসাবে অন্যান্য উত্তর বলে, মত থাকতে পারে জন্য tar -xzf myfile.tar.gz
।
যদি কোনও "লিসা" যুক্তি ছিল, তবে এটির চেয়ে ls
আলাদা আলাদা অর্থ থাকতে পারে । সাবেক হয় , , , এবং পরামিতি, না শব্দ।ls -lisa
ls --lisa
l
i
s
a
আসলে, আপনি লিখতে পারতেন ls -l -i -s -a
, যার অর্থ হুবহু একই ls -lisa
, তবে এটি প্রোগ্রামের উপর নির্ভর করে।
এমন প্রোগ্রাম রয়েছে যা এই সম্মেলনটি মানছে না। আমার দৃষ্টির জন্য সবচেয়ে উল্লেখযোগ্য dd
এবং gcc
।
ডাবল ড্যাশ সহ একক ড্যাশ বনাম দীর্ঘ অপশন সহ সংক্ষিপ্ত বিকল্পগুলি
সংক্ষিপ্ত বিকল্পগুলি একক যুক্তিতে মিলিত হতে পারে;
for example: ls -lrt #instead of ls -l -r -t
যদি আমরা একক ড্যাশ সহ দীর্ঘ বিকল্পগুলি অনুমতি দিই, এটি দ্ব্যর্থহীনতার কারণ করে। এটি সমাধানের জন্য আমরা দীর্ঘ বিকল্পগুলির জন্য ডাবল ড্যাশ ব্যবহার করি।