getoptsposix - ক্লাউডে অনলাইন

এটি হল getoptsposix কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।

কার্যক্রম:

NAME এর


getopts — ইউটিলিটি অপশন পার্স করুন

সাইনোপিসিস


getopts optstring নাম [ARG...]

বর্ণনাঃ


সার্জারির getopts ইউটিলিটি পরামিতিগুলির একটি তালিকা থেকে বিকল্প এবং বিকল্প-আর্গুমেন্টগুলি পুনরুদ্ধার করবে।
এটি বেসে বর্ণিত ইউটিলিটি সিনট্যাক্স নির্দেশিকা 3 থেকে 10, সমেত সমর্থন করবে
POSIX.1-2008-এর সংজ্ঞা ভলিউম, অধ্যায় 12.2, উপযোগ বাক্য গঠন নির্দেশিকা.

প্রতিটি সময় এটি আহ্বান করা হয়, getopts ইউটিলিটি পরবর্তী অপশনের মানকে এর মধ্যে রাখবে
দ্বারা নির্দিষ্ট শেল পরিবর্তনশীল নাম অপারেন্ড এবং পরবর্তী আর্গুমেন্টের ইনডেক্স হতে হবে
শেল ভেরিয়েবলে প্রক্রিয়া করা হয় অপটিন্ড. যখনই শেল ডাকা হয়, অপটিন্ড হবে
1 থেকে শুরু করা হয়েছে।

যখন বিকল্পটির জন্য একটি বিকল্প-আর্গুমেন্টের প্রয়োজন হয়, তখন getopts ইউটিলিটি এটিতে স্থাপন করবে
শেল পরিবর্তনশীল OPTARG. যদি কোন বিকল্প পাওয়া না যায়, অথবা যদি পাওয়া যায় এমন বিকল্পটি না পাওয়া যায়
একটি বিকল্প-যুক্তি আছে, OPTARG আনসেট করা হবে

যদি একটি বিকল্প অক্ষর অন্তর্ভুক্ত না হয় optstring অপারেন্ড পাওয়া যায় যেখানে একটি বিকল্প
অক্ষর প্রত্যাশিত, শেল ভেরিয়েবল দ্বারা নির্দিষ্ট করা হয়েছে নাম সেট করা হবে
চিহ্ন> ('?') চরিত্র। এই ক্ষেত্রে, যদি প্রথম অক্ষর ইন optstring ইহা একটি
(':'), শেল পরিবর্তনশীল OPTARG পাওয়া বিকল্প অক্ষর সেট করা হবে, কিন্তু কোন আউটপুট
স্ট্যান্ডার্ড ত্রুটি লেখা হবে; অন্যথায়, শেল পরিবর্তনশীল OPTARG আনসেট করা হবে
এবং একটি ডায়াগনস্টিক বার্তা স্ট্যান্ডার্ড ত্রুটিতে লেখা হবে। এই শর্ত হবে
আমন্ত্রণকারীদের কাছে যেভাবে আর্গুমেন্ট উপস্থাপন করা হয়েছিল তাতে একটি ত্রুটি সনাক্ত করা হয়েছে বলে মনে করা হয়
আবেদন, কিন্তু একটি ত্রুটি হবে না getopts প্রক্রিয়াকরণ।

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

* যদি প্রথম অক্ষর optstring ইহা একটি , শেল পরিবর্তনশীল দ্বারা নির্দিষ্ট নাম
সেট করা হবে চরিত্র এবং শেল পরিবর্তনশীল OPTARG সেট করা হবে
বিকল্প অক্ষর পাওয়া গেছে.

* অন্যথায়, শেল ভেরিয়েবল দ্বারা নির্দিষ্ট করা হয়েছে নাম সেট করা হবে
চরিত্র, শেল পরিবর্তনশীল OPTARG আনসেট করা হবে, এবং একটি ডায়াগনস্টিক বার্তা থাকবে৷
স্ট্যান্ডার্ড ত্রুটি লিখিত. এই শর্তটি সনাক্ত করা একটি ত্রুটি হিসাবে বিবেচিত হবে
যেভাবে আর্গুমেন্টগুলি আহ্বানকারী আবেদনের কাছে উপস্থাপন করা হয়েছিল, কিন্তু একটি হবে না
ত্রুটি getopts প্রক্রিয়াকরণ; একটি ডায়গনিস্টিক বার্তা লিখিত হিসাবে বলা হবে, কিন্তু
প্রস্থান অবস্থা শূন্য হবে.

বিকল্পের সমাপ্তি সম্মুখীন হলে, getopts ইউটিলিটি একটি রিটার্ন মান সহ প্রস্থান করবে
শূন্যের চেয়ে বড়; শেল পরিবর্তনশীল অপটিন্ড প্রথম সূচক সেট করা হবে
অপারেন্ড, বা মান "$#"+1 যদি কোন অপারেন্ড না থাকে; দ্য নাম পরিবর্তনশীল সেট করা হবে
দ্য চরিত্র নিম্নলিখিত যে কোনো একটি বিকল্পের শেষ চিহ্নিত করবে:
প্রথম "--" যুক্তি যা একটি বিকল্প-যুক্তি নয়, একটি যুক্তি খুঁজে বের করা যা একটি নয়
বিকল্প-যুক্তি এবং একটি দিয়ে শুরু হয় না '-', বা একটি ত্রুটি সম্মুখীন.

শেল ভেরিয়েবল অপটিন্ড এবং OPTARG এর কলকারীর স্থানীয় হতে হবে getopts এবং হবে
ডিফল্টরূপে রপ্তানি করা যাবে না।

শেল পরিবর্তনশীল দ্বারা নির্দিষ্ট নাম অপারেন্ড অপটিন্ড, এবং OPTARG প্রভাবিত করবে
বর্তমান শেল নির্বাহ পরিবেশ; দেখা অধ্যায় 2.12, খোল ফাঁসি পরিবেশ.

যদি অ্যাপ্লিকেশন সেট করে অপটিন্ড মান 1, পরামিতিগুলির একটি নতুন সেট ব্যবহার করা যেতে পারে: হয়
বর্তমান অবস্থানগত পরামিতি বা নতুন ARG মান আহ্বান করার অন্য কোনো প্রচেষ্টা getopts
পরামিতি সহ একটি একক শেল এক্সিকিউশন পরিবেশে একাধিকবার (অবস্থানগত
পরামিতি বা ARG অপারেন্ড) যেগুলি সমস্ত আহ্বানে একই নয়, বা একটি সহ অপটিন্ড
মান 1 ছাড়া অন্য একটি মান হতে পরিবর্তিত, অনির্দিষ্ট ফলাফল তৈরি করে।

বিকল্প


কোনটিই নয়।

অপারেন্ডস


নিম্নলিখিত অপারেন্ডগুলি সমর্থিত হবে:

optstring ইউটিলিটি ইনভোকিং দ্বারা স্বীকৃত বিকল্প অক্ষর ধারণকারী একটি স্ট্রিং
getopts. একটি অক্ষর অনুসরণ করলে a , বিকল্প প্রত্যাশিত হবে
একটি যুক্তি আছে, যা একটি পৃথক যুক্তি হিসাবে সরবরাহ করা উচিত।
অ্যাপ্লিকেশনগুলির একটি বিকল্প অক্ষর এবং এর বিকল্প-যুক্তি হিসাবে উল্লেখ করা উচিত
পৃথক যুক্তি, কিন্তু getopts একটি নিম্নলিখিত অক্ষর ব্যাখ্যা করবে
বিকল্প অক্ষর একটি যুক্তি হিসাবে আর্গুমেন্ট প্রয়োজন হয় কিনা এটি করা হয় না.
একটি সুস্পষ্ট নাল বিকল্প-যুক্তি স্বীকৃত হবে না যদি এটি হিসাবে সরবরাহ করা না হয়
একটি পৃথক যুক্তি যখন getopts আহ্বান করা হয়। (এছাড়াও দেখুন getopt() ফাংশন
POSIX.1-2008 এর সিস্টেম ইন্টারফেস ভলিউমে সংজ্ঞায়িত করা হয়েছে।) অক্ষরগুলি
এবং একটি দ্বারা বিকল্প অক্ষর হিসাবে ব্যবহার করা হবে না
আবেদন আলফানিউমেরিক নয় এমন অন্যান্য বিকল্প অক্ষরের ব্যবহার
অনির্দিষ্ট ফলাফল তৈরি করে। যদি অপশন-আর্গুমেন্ট সরবরাহ করা না হয় তাহলে a
বিকল্প অক্ষর থেকে পৃথক যুক্তি, মান মধ্যে OPTARG হবে
অপশন অক্ষর এবং ছিনতাই '-'. মধ্যে প্রথম চরিত্র optstring
কিভাবে নির্ধারণ করে getopts একটি বিকল্প অক্ষর জানা না থাকলে বা একটি বিকল্প-
যুক্তি অনুপস্থিত.

নাম একটি শেল ভেরিয়েবলের নাম যা দ্বারা সেট করা হবে getopts উপযোগিতা
বিকল্প অক্ষর যে পাওয়া গেছে.

সার্জারির getopts ডিফল্টরূপে ইউটিলিটি আহ্বানে পাস করা অবস্থানগত পরামিতি পার্স করবে
শেল পদ্ধতি। যদি ARGs দেওয়া হয়, তারা অবস্থানগত পরিবর্তে পার্স করা হবে
প্যারামিটার।

STDIN


ব্যবহার করা হয় না.

ইনপুট নথি পত্র


কোনটিই নয়।

পরিবেশ বৈচিত্র্য


নিম্নলিখিত পরিবেশের ভেরিয়েবলগুলি কার্যকর করার উপর প্রভাব ফেলবে getopts:

ল্যাং আনসেট বা আন্তর্জাতিকীকরণ ভেরিয়েবলের জন্য একটি ডিফল্ট মান প্রদান করুন
খালি. (POSIX.1-2008-এর বেস ডেফিনিশন ভলিউম দেখুন, অধ্যায় 8.2,
আন্তর্জাতিকীকরণ ভেরিয়েবল আন্তর্জাতিকীকরণের অগ্রাধিকারের জন্য
লোকেল বিভাগের মান নির্ধারণ করতে ব্যবহৃত ভেরিয়েবল।)

Lc_all একটি অ-খালি স্ট্রিং মান সেট করা হলে, অন্য সব মান ওভাররাইড করুন
আন্তর্জাতিকীকরণ ভেরিয়েবল।

Lc_ctype পাঠ্য ডেটার বাইটের অনুক্রমের ব্যাখ্যার জন্য লোকেল নির্ধারণ করুন
অক্ষর হিসাবে (উদাহরণস্বরূপ, একক-বাইট, মাল্টি-বাইট অক্ষরের বিপরীতে
আর্গুমেন্ট এবং ইনপুট ফাইল)।

Lc_messages
বিন্যাস এবং বিষয়বস্তু প্রভাবিত করতে ব্যবহার করা উচিত যে লোকেল নির্ধারণ করুন
ডায়াগনস্টিক বার্তাগুলি স্ট্যান্ডার্ড ত্রুটিতে লেখা।

NLSPATH এর প্রক্রিয়াকরণের জন্য বার্তা ক্যাটালগের অবস্থান নির্ধারণ করুন Lc_messages.

অপটিন্ড এই পরিবর্তনশীল দ্বারা ব্যবহার করা হবে getopts পরবর্তী সূচক হিসাবে ইউটিলিটি
যুক্তি প্রক্রিয়া করা হবে.

অ্যাসিঙ্ক্রোনাস ঘটনাগুলি দেখুন


ডিফল্ট.

বন্ধ


ব্যবহার করা হয় না.

STDERR


যখনই একটি ত্রুটি সনাক্ত করা হয় এবং প্রথম অক্ষর optstring অপারেন্ড একটি নয়
(':'), একটি ডায়াগনস্টিক বার্তা নিম্নোক্ত সহ স্ট্যান্ডার্ড ত্রুটিতে লেখা হবে
একটি অনির্দিষ্ট বিন্যাসে তথ্য:

* আহ্বানকারী প্রোগ্রামের নাম বার্তায় চিহ্নিত করা হবে। আহ্বান কর্মসূচি
নামটি শেল বিশেষ প্যারামিটারের মান হবে 0 (দেখুন অধ্যায় 2.5.2, বিশেষ
পরামিতি) সময়ে getopts ইউটিলিটি আহ্বান করা হয়। এর সমতুল্য একটি নাম:

বেসনাম "$0"

ব্যবহার করা যেতে পারে.

* যদি একটি বিকল্প পাওয়া যায় যেটিতে উল্লেখ করা হয়নি optstring, এই ত্রুটি চিহ্নিত করা হয়
এবং বার্তায় অবৈধ বিকল্প অক্ষর চিহ্নিত করা হবে।

* যদি একটি বিকল্পের জন্য একটি বিকল্প-আর্গুমেন্টের প্রয়োজন পাওয়া যায়, কিন্তু একটি বিকল্প-আর্গুমেন্ট পাওয়া যায় না
পাওয়া গেলে, এই ত্রুটি চিহ্নিত করা হবে এবং অবৈধ বিকল্প অক্ষর হবে
বার্তায় চিহ্নিত করা হয়েছে।

আউটপুট নথি পত্র


কোনটিই নয়।

সম্প্রসারিত বর্ণনাঃ


কোনটিই নয়।

প্রস্থান করুন স্থিতি


নিম্নলিখিত প্রস্থান মান ফেরত দেওয়া হবে:

0 একটি বিকল্প, দ্বারা নির্দিষ্ট বা অনির্দিষ্ট optstring, পাওয়া গেছে।

>0 বিকল্পগুলির সমাপ্তি সম্মুখীন হয়েছে বা একটি ত্রুটি ঘটেছে৷

পরিণতি OF ত্রুটি


ডিফল্ট.

সার্জারির অনুসরণ বিভাগে হয় তথ্যপূর্ণ.

আবেদন , USAGE


থেকে getopts বর্তমান শেল এক্সিকিউশন পরিবেশকে প্রভাবিত করে, এটি সাধারণত হিসাবে প্রদান করা হয়
একটি শেল নিয়মিত অন্তর্নির্মিত. যদি এটি একটি সাবশেল বা পৃথক ইউটিলিটি এক্সিকিউশনে বলা হয়
পরিবেশ, যেমন নিম্নলিখিতগুলির মধ্যে একটি:

(getopts অ আ ক খ মূল্য "$@")
nohup getopts ...
আবিষ্কার . −exec getopts ... \;

এটি কলারের পরিবেশে শেল ভেরিয়েবলকে প্রভাবিত করে না।

লক্ষ্য করুন যে শেল ফাংশন ভাগ করে অপটিন্ড কলিং শেল সহ অবস্থানগত হলেও
পরামিতি পরিবর্তন করা হয়। যদি কলিং শেল এবং এর কোনো ফাংশন ব্যবহার করে getopts থেকে
পার্স আর্গুমেন্ট, ফলাফল অনির্দিষ্ট.

উদাহরণ


নিম্নলিখিত উদাহরণ স্ক্রিপ্ট পার্স করে এবং তার আর্গুমেন্ট প্রদর্শন করে:

aflag=
bflag=
যখন getopts ab: নাম
do
কেস $নাম in
a) aflag=1;;
b) bflag=1
bval="$OPTARG";;
?) printf, "ব্যবহার: %s: [-ক] [-খ মান] args\n" $0
প্রস্থান 2;
যে সি
সম্পন্ন
if [ ! −z "$ aflag" ]; তারপর
printf, "বিকল্প −a নির্দিষ্ট\n"
fi
if [ ! −z "$b পতাকা" ]; তারপর
printf, 'বিকল্প −খ "%s" নির্দিষ্ট\n' "$bval"
fi
পরিবর্তন $(($অপটিন্ড - 1))
printf, "বাকি আর্গুমেন্ট হয়: %s\n$*"

যুক্তিসহ ব্যাখ্যা


সার্জারির getopts ইউটিলিটি সিস্টেম V-এর অগ্রাধিকারে বেছে নেওয়া হয়েছিল getopt ইউটিলিটি কারণ
getopts সম্বলিত বিকল্প-আর্গুমেন্ট পরিচালনা করে চরিত্র.

সার্জারির OPTARG ভেরিয়েবল এনভায়রনমেন্ট ভ্যারিয়েবল বিভাগে উল্লেখ করা হয়নি কারণ এটি করে
এর মৃত্যুদন্ড প্রভাবিত করে না getopts; এটি ব্যবহৃত কয়েকটি ``শুধুমাত্র-আউটপুট'' ভেরিয়েবলের মধ্যে একটি
স্ট্যান্ডার্ড ইউটিলিটি দ্বারা।

দ্য একটি বিকল্প চরিত্র হিসাবে অনুমোদিত নয় কারণ এটি ঐতিহাসিক আচরণ নয়,
এবং এটি ইউটিলিটি সিনট্যাক্স নির্দেশিকা লঙ্ঘন করে। দ্য এখন হিসাবে আচরণ করার জন্য নির্দিষ্ট করা হয়েছে
এর KornShell সংস্করণে getopts উপযোগিতা যখন প্রথম অক্ষর হিসাবে ব্যবহৃত হয়
optstring অপারেন্ড, এটি অনুপস্থিত বিকল্প-আর্গুমেন্ট সংক্রান্ত ডায়াগনস্টিকস নিষ্ক্রিয় করে এবং
অপ্রত্যাশিত বিকল্প অক্ষর। এই ব্যবহার প্রতিস্থাপন OPTERR পরিবর্তনশীল যে ছিল
একটি প্রাথমিক প্রস্তাবে উল্লেখ করা হয়েছে।

দ্বারা উত্পাদিত ডায়গনিস্টিক বার্তা বিন্যাস getopts ইউটিলিটি এবং getopt()
ফাংশন সম্পূর্ণরূপে নির্দিষ্ট করা হয়নি কারণ উচ্চতর (`ফ্রেন্ডলিয়ার') এর সাথে বাস্তবায়ন
বিন্যাস কিছু ঐতিহাসিক বাস্তবায়ন দ্বারা ব্যবহৃত বিন্যাস আপত্তি. মান
বিকাশকারীরা এটিকে গুরুত্বপূর্ণ বলে মনে করেন যে ব্যবহৃত বার্তাগুলির তথ্য অভিন্ন হওয়া উচিত
মধ্যে getopts এবং getopt()। বার্তাগুলির সঠিক অনুলিপি সম্ভব নাও হতে পারে,
বিশেষ করে যদি একটি ইউটিলিটি অন্য সিস্টেমে নির্মিত হয় যার একটি ভিন্ন আছে getopt()
ফাংশন, কিন্তু বার্তা নির্দিষ্ট তথ্য অন্তর্ভুক্ত করা আবশ্যক যাতে প্রোগ্রাম
নাম, অবৈধ বিকল্প অক্ষর, এবং ত্রুটির ধরন একজন ব্যবহারকারী দ্বারা আলাদা করা যেতে পারে।

শুধুমাত্র একটি বিরল অ্যাপ্লিকেশন প্রোগ্রাম বাধা দেয় a getopts স্ট্যান্ডার্ড ত্রুটি বার্তা এবং করতে চায়
এটা পার্স. অতএব, বাস্তবায়নগুলি তাদের সবচেয়ে ব্যবহারযোগ্য বার্তাগুলি বেছে নেওয়ার জন্য বিনামূল্যে
পরিকল্পনা করা নিম্নলিখিত বিন্যাস অনেক ঐতিহাসিক বাস্তবায়ন দ্বারা ব্যবহৃত হয়:

"%s: অবৈধ পছন্দ --- %c\n", <কার্যক্রম নাম>, <পছন্দ চরিত্র>

"%s: বিকল্পের জন্য একটি আর্গুমেন্ট প্রয়োজন −− %c\n",কার্যক্রম নাম>,
<পছন্দ চরিত্র>

এর অন্তর্নির্মিত সংস্করণ সহ ঐতিহাসিক শেল getopt() বা getopts বিভিন্ন ব্যবহার করেছেন
বিন্যাস, প্রায়শই ত্রুটিতে পাওয়া বিকল্প অক্ষরটিও নির্দেশ করে না।

ভবিষ্যতের দিকনির্দেশ


কোনটিই নয়।

onworks.net পরিষেবা ব্যবহার করে getoptsposix অনলাইন ব্যবহার করুন



সর্বশেষ লিনাক্স এবং উইন্ডোজ অনলাইন প্রোগ্রাম