এটি হল mksh কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
ধন্যবাদ, sh — মিরবিএসডি কর্ন শেল
সাইনোপিসিস
ধন্যবাদ [-+abCefhiklmnprUuvXx] [-T [!]TTY | -] [-+ও পছন্দ] [-c স্ট্রিং | -s | ফাইল
[যুক্তি ...]]
অন্তর্নির্মিত নাম [যুক্তি ...]
বর্ণনাঃ
ধন্যবাদ একটি কমান্ড ইন্টারপ্রেটার যা ইন্টারেক্টিভ এবং শেল স্ক্রিপ্ট উভয়ের জন্যই তৈরি। এর
কমান্ড ভাষা হল sh(C) শেল ভাষার একটি সুপারসেট এবং বহুলাংশে সামঞ্জস্যপূর্ণ
মূল কর্ন শেল। মাঝে মাঝে, এই ম্যানুয়াল পৃষ্ঠাটি স্ক্রিপ্টিং পরামর্শ দিতে পারে; যখন এটা
কখনও কখনও পোর্টেবল শেল স্ক্রিপ্টিং বা বিভিন্ন স্ট্যান্ডার্ড সব বিবেচনায় নেয়
তথ্য প্রথম এবং সর্বাগ্রে উপস্থাপন করা হয় ধন্যবাদ মনে এবং যেমন গ্রহণ করা উচিত.
আমি an অ্যান্ড্রয়েড ব্যবহারকারী, so কি mksh?
ধন্যবাদ একটি UNIX শেল/কমান্ড দোভাষী, অনুরূপ COMMAND.COM or CMD.EXE, কোনটি আছে
কিছু সময়ের জন্য অ্যান্ড্রয়েড ওপেন সোর্স প্রকল্পের সাথে অন্তর্ভুক্ত করা হয়েছে। মূলত, এটি একটি প্রোগ্রাম
যা একটি টার্মিনালে চলে (কনসোল উইন্ডো), ব্যবহারকারীর ইনপুট নেয় এবং কমান্ড বা স্ক্রিপ্ট চালায়,
যা অন্যান্য প্রোগ্রাম দ্বারাও করতে বলা যেতে পারে, এমনকি পটভূমিতেও। কোন বিশেষাধিকার
পপ আপ আপনি সম্মুখীন হতে পারে এইভাবে হয় না ধন্যবাদ সমস্যা কিন্তু অন্য কিছু দ্বারা প্রশ্ন
প্রোগ্রাম এটি ব্যবহার.
আবাহন
বেশিরভাগ বিল্টইনকে সরাসরি বলা যেতে পারে, উদাহরণস্বরূপ যদি একটি লিঙ্ক তার নাম থেকে এর দিকে নির্দেশ করে
শেল সব কিছু বোঝা যায় না, পরীক্ষা করা হয়েছে বা কাজ করা হয়েছে যদিও।
বিকল্পগুলি নিম্নরূপ:
-c স্ট্রিং ধন্যবাদ এর মধ্যে থাকা কমান্ড(গুলি) কার্যকর করবে স্ট্রিং.
-i ইন্টারেক্টিভ শেল। একটি শেল যা স্ট্যান্ডার্ড ইনপুট থেকে কমান্ড পড়ে
"ইন্টারেক্টিভ" যদি এই বিকল্পটি ব্যবহার করা হয় বা যদি উভয় স্ট্যান্ডার্ড ইনপুট এবং স্ট্যান্ডার্ড ত্রুটি
একটি সংযুক্ত করা হয় TTY(4)। একটি ইন্টারেক্টিভ শেল কাজ নিয়ন্ত্রণ সক্ষম, উপেক্ষা করা আছে
SIGINT, SIGQUIT, এবং SIGTERM সংকেত, এবং ইনপুট পড়ার আগে প্রম্পট প্রিন্ট করে
(PS1 এবং PS2 পরামিতি দেখুন)। এটি ENV প্যারামিটার বা
mkshrc ফাইল (নীচে দেখুন)। অ ইন্টারেক্টিভ শেল জন্য, ট্র্যাককল বিকল্প চালু আছে
ডিফল্টরূপে (দেখুন সেট নীচের আদেশ)।
-l লগইন শেল. বেসনেম হলে শেলটিকে (যেমন argv[0]) দিয়ে ডাকা হয়
'-' অথবা যদি এই বিকল্পটি ব্যবহার করা হয়, শেলটিকে একটি লগইন শেল বলে ধরে নেওয়া হয়; দেখা
প্রারম্ভ নথি পত্র নিচে.
-p প্রিভিলেজড শেল। প্রকৃত ব্যবহারকারী আইডি বা গ্রুপ আইডি থাকলে একটি শেল "সুবিধাপ্রাপ্ত" হয়
কার্যকর ব্যবহারকারী আইডি বা গ্রুপ আইডির সাথে মেলে না (দেখুন getuid(2) এবং গেটগিড(2))।
সুবিধাপ্রাপ্ত বিকল্পটি সাফ করার ফলে শেলটি তার কার্যকর ব্যবহারকারী আইডি সেট করতে পারে
(গ্রুপ আইডি) এর আসল ব্যবহারকারী আইডি (গ্রুপ আইডি) থেকে। আরও প্রভাব জন্য, দেখুন প্রারম্ভ
নথি পত্র. যদি শেলটি বিশেষাধিকারপ্রাপ্ত হয় এবং এই পতাকাটি স্পষ্টভাবে সেট করা না থাকে, তাহলে
"সুবিধাপ্রাপ্ত" বিকল্পটি স্টার্টআপ ফাইলগুলি প্রক্রিয়া করার পরে স্বয়ংক্রিয়ভাবে সাফ হয়ে যায়।
-r সীমাবদ্ধ শেল। এই বিকল্পটি ব্যবহার করা হলে একটি শেল "সীমাবদ্ধ" হয়। পরবর্তী
শেল যেকোনো প্রোফাইল এবং ENV প্রক্রিয়া করার পরে বিধিনিষেধ কার্যকর হয়
নথি পত্র:
· সার্জারির cd (এবং chdir) কমান্ড নিষ্ক্রিয় করা হয়েছে।
· SHELL, ENV, এবং PATH প্যারামিটার পরিবর্তন করা যাবে না।
· কমান্ডের নাম পরম বা আপেক্ষিক পাথ দিয়ে নির্দিষ্ট করা যাবে না।
· সার্জারির -p বিল্ট-ইন কমান্ডের বিকল্প হুকুম ব্যবহার করা যাবে না।
· ফাইল তৈরি করে এমন পুনঃনির্দেশ ব্যবহার করা যাবে না (যেমন '>', '>|', '>>', '<>')।
-s শেল স্ট্যান্ডার্ড ইনপুট থেকে কমান্ড পড়ে; সব অ-বিকল্প আর্গুমেন্ট হয়
অবস্থানগত পরামিতি।
-T নাম ডিম ধন্যবাদ উপরে TTY(4) ডিভাইস দেওয়া হয়েছে। পথগুলো নাম, /dev/ttyCname এবং
/dev/ttyname ক্রমানুসারে চেষ্টা করা হয়। যদি না নাম একটি বিস্ময় চিহ্ন দিয়ে শুরু হয়
('!'), এটি একটি সাবশেলে করা হয় এবং অবিলম্বে ফিরে আসে। যদি নাম একটি ড্যাশ হয়
('-'), পরিবর্তে কন্ট্রোলিং টার্মিনাল (ডেমনাইজ) থেকে বিচ্ছিন্ন করুন।
উপরোক্ত ছাড়াও, এর মধ্যে বর্ণিত বিকল্পগুলি সেট বিল্ট-ইন কমান্ডও ব্যবহার করা যেতে পারে
কমান্ড লাইনে: উভয় [-+abCefhkmnuvXx] এবং [-+ও পছন্দ] একক অক্ষরের জন্য ব্যবহার করা যেতে পারে
বা দীর্ঘ বিকল্প, যথাক্রমে।
যদি না হয় -c না -s বিকল্পটি নির্দিষ্ট করা হয়েছে, প্রথম অ-বিকল্প আর্গুমেন্টটি নির্দিষ্ট করে
একটি ফাইলের নাম যেটি থেকে শেল কমান্ডগুলি পড়ে। যদি কোন অ-বিকল্প আর্গুমেন্ট না থাকে, তাহলে
শেল স্ট্যান্ডার্ড ইনপুট থেকে কমান্ড পড়ে। শেলের নাম (অর্থাৎ এর বিষয়বস্তু
$0) নিম্নরূপ নির্ধারিত হয়: যদি -c বিকল্প ব্যবহার করা হয় এবং একটি অ-বিকল্প যুক্তি আছে,
এটি নাম হিসাবে ব্যবহৃত হয়; যদি একটি ফাইল থেকে কমান্ড পড়া হয়, ফাইল হিসাবে ব্যবহার করা হয়
নাম অন্যথায়, শেলটিকে যে বেসনাম দিয়ে ডাকা হয়েছিল (যেমন argv[0]) ব্যবহার করা হয়।
শেলের প্রস্থান অবস্থা 127 হয় যদি কমান্ড লাইনে নির্দিষ্ট করা কমান্ড ফাইলটি পারে
খোলা হবে না, বা শূন্য নয় যদি একটি মারাত্মক সিনট্যাক্স ত্রুটি ঘটে
লিপি. মারাত্মক ত্রুটির অনুপস্থিতিতে, প্রস্থান অবস্থা শেষ কমান্ডের
এক্সিকিউটেড, বা শূন্য, যদি কোন কমান্ড এক্সিকিউট না হয়।
প্রারম্ভ নথি পত্র
এই ফাইলগুলির প্রকৃত অবস্থানের জন্য, দেখুন নথি পত্র. একটি লগইন শেল সিস্টেম প্রক্রিয়া করে
প্রথমে প্রোফাইল। একটি বিশেষ সুবিধাপ্রাপ্ত শেল তারপর suid প্রোফাইল প্রক্রিয়া করে। একটি অ-সুবিধাবিহীন লগইন
শেল পরবর্তী ব্যবহারকারী প্রোফাইল প্রক্রিয়া করে। একটি অ-সুবিধাপ্রাপ্ত ইন্টারেক্টিভ শেল মান পরীক্ষা করে
পরামিতি, কমান্ড, গাণিতিক এবং টিল্ডে ('~') সাবজেক্ট করার পরে ENV প্যারামিটারের
প্রতিস্থাপন; যদি সেট না করা বা খালি থাকে, ব্যবহারকারী mkshrc প্রোফাইল প্রক্রিয়া করা হয়; অন্যথায়, যদি একটি ফাইল
যার নাম প্রতিস্থাপন ফলাফল বিদ্যমান, এটি প্রক্রিয়া করা হয়; অস্তিত্বহীনতা নীরবে
উপেক্ষা করা একটি বিশেষাধিকার শেল তারপর বিশেষাধিকার ড্রপ যদি না ছিল -p অপশন দেওয়া আছে
স্টার্টআপ ফাইলগুলি চালানোর সময় কমান্ড লাইন বা সেট করা হয় না।
আদেশ বাক্য গঠন
শেল যেকোনো ব্যাকস্ল্যাশ-নতুন লাইনের সংমিশ্রণগুলিকে সরিয়ে দিয়ে তার ইনপুট পার্স করা শুরু করে, তারপর
এটা ভাঙ্গা শব্দ. শব্দ (যা অক্ষরের ক্রম) উদ্ধৃতিহীন দ্বারা সীমাবদ্ধ করা হয়
হোয়াইটস্পেস অক্ষর (স্পেস, ট্যাব, এবং নিউলাইন) বা মেটা-অক্ষর ('<', '>', '|', ';', '(',
')', এবং '&'). সীমাবদ্ধ শব্দ ছাড়াও, স্পেস এবং ট্যাব উপেক্ষা করা হয়, যখন নতুন লাইন
সাধারণত সীমাবদ্ধ কমান্ড। নিম্নলিখিত নির্মাণে মেটা-অক্ষর ব্যবহার করা হয় টোকেন:
'<', '<&', '<<', '<<<', '>', '>&', '>>', '&>', ইত্যাদি পুনর্নির্দেশ নির্দিষ্ট করতে ব্যবহৃত হয় (দেখুন
ইনপুট আউটপুট ফেরৎ নিচে); '|' পাইপলাইন তৈরি করতে ব্যবহৃত হয়; '|&' ব্যবহার করা হয় কো- তৈরি করতে
প্রক্রিয়া (দেখুন সহ-প্রক্রিয়া নিচে); ';' কমান্ড পৃথক করতে ব্যবহৃত হয়; তৈরি করতে '&' ব্যবহার করা হয়
অ্যাসিঙ্ক্রোনাস পাইপলাইন; '&&' এবং '||' শর্তাধীন মৃত্যুদন্ড নির্দিষ্ট করতে ব্যবহৃত হয়; ';;', ';&'
এবং ';|' ব্যবহার করা হয় কেস বিবৃতি; '(( .. ))' গাণিতিক রাশিতে ব্যবহৃত হয়; এবং
সবশেষে, '( .. )' সাবশেল তৈরি করতে ব্যবহৃত হয়।
হোয়াইটস্পেস এবং মেটা-অক্ষরগুলি ব্যাকস্ল্যাশ ('\') ব্যবহার করে পৃথকভাবে উদ্ধৃত করা যেতে পারে, বা
ডবল ('"') বা একক ("'") উদ্ধৃতি ব্যবহার করে গোষ্ঠী। উল্লেখ্য যে নিম্নলিখিত অক্ষরগুলি হল
এছাড়াও শেল দ্বারা বিশেষভাবে চিকিত্সা করা হয় এবং তাদের নিজেদের প্রতিনিধিত্ব করতে হলে অবশ্যই উদ্ধৃত করতে হবে:
'\', '"', '', '#', '$', '`', '~', '{', '}', '*', '?', এবং '['। এই প্রথম তিনটি
উপরে উল্লিখিত উদ্ধৃতি অক্ষর (দেখুন বরাত দিয়ে নিচে); '#', যদি ব্যবহার করা হয়
একটি শব্দের শুরুতে, একটি মন্তব্য প্রবর্তন করে – '#' এর পরের সবকিছুই নিকটতম পর্যন্ত
নিউলাইন উপেক্ষা করা হয়; '$' প্যারামিটার, কমান্ড এবং পাটিগণিত প্রবর্তন করতে ব্যবহৃত হয়
প্রতিস্থাপন (দেখুন প্রতিকল্পন নিচে); '`' একটি পুরানো-শৈলী কমান্ড প্রতিস্থাপন প্রবর্তন করে
(দেখুন প্রতিকল্পন নিচে); '~' একটি ডিরেক্টরি সম্প্রসারণ শুরু করে (দেখুন টিল্ড সম্প্রসারণ নিচে); '{'
এবং '}' সীমাবদ্ধতা csh(1)-শৈলী পরিবর্তন (দেখুন যুগল সম্প্রসারণ নিচে); এবং পরিশেষে, '*',
'?', এবং '[' ফাইলের নাম তৈরিতে ব্যবহৃত হয় (দেখুন ফাইল নাম নিদর্শন নিচে).
শব্দ এবং টোকেন পার্স করা হলে, শেল কমান্ড তৈরি করে, যার মধ্যে দুটি মৌলিক রয়েছে
প্রকারসমূহ: সহজ-কমান্ড, সাধারণত সঞ্চালিত হয় যে প্রোগ্রাম, এবং যৌগ-কমান্ডযেমন
as উন্নত এবং if বিবৃতি, গ্রুপিং গঠন, এবং ফাংশন সংজ্ঞা।
একটি সাধারণ-কমান্ডে কিছু প্যারামিটার অ্যাসাইনমেন্টের সমন্বয় থাকে (দেখুন পরামিতি
নীচে), ইনপুট/আউটপুট পুনর্নির্দেশ (দেখুন ইনপুট আউটপুট পুনঃনির্দেশ নীচে), এবং কমান্ড শব্দ;
একমাত্র সীমাবদ্ধতা হল যে কোনো কমান্ড শব্দের আগে পরামিতি অ্যাসাইনমেন্ট আসে। দ্য
কমান্ড শব্দগুলি, যদি থাকে, সেই কমান্ডটি সংজ্ঞায়িত করে যা কার্যকর করা হবে এবং এর আর্গুমেন্ট। দ্য
কমান্ড একটি শেল অন্তর্নির্মিত কমান্ড, একটি ফাংশন, বা একটি বহিরাগত কমান্ড (যেমন একটি পৃথক
এক্সিকিউটেবল ফাইল যা PATH প্যারামিটার ব্যবহার করে অবস্থিত; দেখা আদেশ ফাঁসি নিচে).
মনে রাখবেন যে সমস্ত কমান্ড নির্মাণের একটি প্রস্থান অবস্থা আছে: বহিরাগত কমান্ডের জন্য, এটি সম্পর্কিত
দ্বারা ফিরে স্ট্যাটাস অপেক্ষা করুন(2) (যদি কমান্ডটি পাওয়া যায় না, প্রস্থান অবস্থা হয়
127; যদি এটি কার্যকর করা না যায়, তাহলে প্রস্থান স্থিতি হল 126); অন্যান্য কমান্ডের প্রস্থান অবস্থা
নির্মাণ (বিল্ট-ইন কমান্ড, ফাংশন, কম্পাউন্ড-কমান্ড, পাইপলাইন, তালিকা ইত্যাদি)
সু-সংজ্ঞায়িত এবং বর্ণনা করা হয়েছে যেখানে নির্মাণ বর্ণনা করা হয়েছে। প্রস্থান অবস্থা a
শুধুমাত্র প্যারামিটার অ্যাসাইনমেন্ট নিয়ে গঠিত কমান্ড হল শেষ কমান্ড প্রতিস্থাপনের
প্যারামিটার অ্যাসাইনমেন্টের সময় সঞ্চালিত হয় বা 0 যদি কোন কমান্ড প্রতিস্থাপন না থাকে।
'|' ব্যবহার করে কমান্ডগুলিকে একসাথে চেইন করা যেতে পারে পাইপলাইন গঠনের টোকেন, যার মধ্যে
প্রতিটি কমান্ডের স্ট্যান্ডার্ড আউটপুট কিন্তু শেষটি পাইপ করা হয় (দেখুন নল(2)) এর স্ট্যান্ডার্ড ইনপুট
নিম্নলিখিত কমান্ড। একটি পাইপলাইনের প্রস্থান অবস্থা তার শেষ কমান্ডের মতো, যদি না
দ্য পাইপফেল বিকল্প সেট করা হয়েছে (সেখানে দেখুন)। একটি পাইপলাইনের সমস্ত কমান্ড আলাদাভাবে কার্যকর করা হয়
subshells; এটি POSIX দ্বারা অনুমোদিত কিন্তু AT&T UNIX-এর উভয় প্রকারের থেকে আলাদা ksh, কোথায়
শেষ কমান্ড ব্যতীত সমস্ত সাবশেলগুলিতে কার্যকর করা হয়েছিল; দেখুন পড়া জন্য বিল্টইন এর বিবরণ
প্রভাব এবং সমাধান। একটি পাইপলাইন '!' দ্বারা উপসর্গ হতে পারে। সংরক্ষিত শব্দ যা
পাইপলাইনের প্রস্থান স্থিতি যৌক্তিকভাবে পরিপূরক হওয়ার কারণ: যদি মূল স্থিতি
0 ছিল, পরিপূরক অবস্থা হবে 1; মূল স্থিতি 0 না হলে, পরিপূরক
স্ট্যাটাস 0 হবে।
পাখি নিম্নোক্ত যেকোনো টোকেন দ্বারা পাইপলাইনগুলিকে আলাদা করে কমান্ডগুলি তৈরি করা যেতে পারে:
'&&', '||', '&', '|&', এবং ';'। প্রথম দুটি শর্তসাপেক্ষে কার্যকর করার জন্য: "cmd1 && cmd2"
চালায় cmd2 শুধুমাত্র যদি প্রস্থান অবস্থা cmd1 শূন্য; '||' বিপরীত হয় - cmd2 is
এর প্রস্থান অবস্থা শুধুমাত্র যদি মৃত্যুদন্ড কার্যকর করা হয় cmd1 অ-শূন্য। '&&' এবং '||' সমান অগ্রাধিকার আছে
যা '&', '|&', এবং ';' এর চেয়ে বেশি, যার সমান অগ্রাধিকার রয়েছে। বিঃদ্রঃ
যে '&&' এবং '||' অপারেটররা "বাম-সহযোগী"। উদাহরণস্বরূপ, এই উভয়
কমান্ড শুধুমাত্র "বার" মুদ্রণ করবে:
$ false && echo foo || ইকো বার
$সত্য || echo foo && echo bar
'&' টোকেন পূর্ববর্তী কমান্ডকে অ্যাসিঙ্ক্রোনাসভাবে কার্যকর করতে দেয়; যে, শেল
কমান্ড শুরু করে কিন্তু এটি সম্পূর্ণ হওয়ার জন্য অপেক্ষা করে না (শেলটি ট্র্যাক রাখে
অ্যাসিঙ্ক্রোনাস কমান্ডের অবস্থা; দেখা কাজ নিয়ন্ত্রণ নিচে). যখন একটি অ্যাসিঙ্ক্রোনাস কমান্ড হয়
শুরু হয় যখন কাজ নিয়ন্ত্রণ নিষ্ক্রিয় থাকে (অর্থাৎ বেশিরভাগ স্ক্রিপ্টে), কমান্ড দিয়ে শুরু হয়
সিগন্যাল SIGINT এবং SIGQUIT উপেক্ষা করা হয়েছে এবং ইনপুট রিডাইরেক্ট করা হয়েছে আপনার / dev / নাল (যাহোক,
অ্যাসিঙ্ক্রোনাস কমান্ডে নির্দিষ্ট করা পুনর্নির্দেশের অগ্রাধিকার রয়েছে)। '|&' অপারেটর
একটি সহ-প্রক্রিয়া শুরু করে যা একটি বিশেষ ধরনের অ্যাসিঙ্ক্রোনাস প্রক্রিয়া (দেখুন সহ-প্রক্রিয়া
নিচে). মনে রাখবেন যে একটি কমান্ড অবশ্যই '&&' এবং '||' অনুসরণ করবে অপারেটর, যখন এটি প্রয়োজন নেই
'&', '|&', বা ';' অনুসরণ করুন। একটি তালিকার প্রস্থান স্থিতিটি কার্যকর করা শেষ কমান্ডের,
অ্যাসিঙ্ক্রোনাস তালিকাগুলি বাদ দিয়ে, যার জন্য প্রস্থান অবস্থা 0।
যৌগিক কমান্ড নিম্নলিখিত সংরক্ষিত শব্দ ব্যবহার করে তৈরি করা হয়. এই শব্দগুলি শুধুমাত্র
স্বীকৃত যদি সেগুলি উদ্ধৃত না হয় এবং যদি সেগুলি একটি কমান্ডের প্রথম শব্দ হিসাবে ব্যবহৃত হয় (যেমন
সেগুলি পরামিতি অ্যাসাইনমেন্ট বা পুনঃনির্দেশ দ্বারা পূর্বে হতে পারে না):
ক্ষেত্রে অন্য কাজ তাহলে! (
esac করবেন যদি সময় [[(
শেষ পর্যন্ত {
elif নির্বাচন করার সময় }
নিম্নলিখিত যৌগিক কমান্ডের বিবরণে, কমান্ড তালিকা (হিসেবে চিহ্নিত তালিকা) যেগুলো
সংরক্ষিত শব্দগুলির পরে অবশ্যই একটি সেমিকোলন, একটি নিউলাইন বা একটি (বাক্যগতভাবে) দিয়ে শেষ হতে হবে
সঠিক) সংরক্ষিত শব্দ। উদাহরণস্বরূপ, নিম্নলিখিত সব বৈধ:
$ { echo foo; ইকো বার; }
$ { echo foo; ইকো বার }
$ { { echo foo; ইকো বার; } }
এটি বৈধ নয়:
$ { echo foo; ইকো বার }
(তালিকা)
এক্সিকিউট তালিকা একটি subshell মধ্যে থেকে পরিবেশ পরিবর্তন পাস করার কোন অন্তর্নিহিত উপায় নেই
একটি সাবশেল তার পিতামাতার কাছে ফিরে আসে।
{ তালিকা; }
যৌগিক গঠন; তালিকা মৃত্যুদন্ড কার্যকর করা হয়, কিন্তু একটি subshell মধ্যে না. উল্লেখ্য যে '{' এবং '}'
সংরক্ষিত শব্দ, মেটা-অক্ষর নয়।
কেস শব্দ ভিতরে [[(] প্যাটার্ন [| প্যাটার্ন] ...) তালিকা টারমিনেটর] ... esac
সার্জারির কেস বিবৃতি মেলে চেষ্টা শব্দ একটি নির্দিষ্ট বিরুদ্ধে প্যাটার্ন; দ্য তালিকা
প্রথম সফলভাবে মিলে যাওয়া প্যাটার্নের সাথে যুক্ত করা হয়। নিদর্শন ব্যবহৃত
কেস বিবৃতিগুলি ফাইল নামের প্যাটার্নগুলির জন্য ব্যবহৃত হিসাবে একই
সম্পর্কিত বিধিনিষেধ '.' এবং '/' বাদ দেওয়া হয়। উল্লেখ্য যেকোনও উদ্ধৃতিহীন স্থান আগে
এবং একটি প্যাটার্ন ছিনতাই করা হয় পরে; একটি প্যাটার্নের মধ্যে যেকোনো স্থান অবশ্যই উদ্ধৃত করা উচিত। উভয়
শব্দ এবং নিদর্শনগুলি পরামিতি, কমান্ড এবং গাণিতিক প্রতিস্থাপনের সাপেক্ষে,
পাশাপাশি টিল্ড প্রতিস্থাপন।
ঐতিহাসিক কারণে, এর পরিবর্তে খোলা এবং বন্ধ বন্ধনী ব্যবহার করা যেতে পারে in এবং যে সি যেমন
কেস $foo { *) প্রতিধ্বনি বার ;; }.
ক্রমতালিকা টারমিনেটরগুলি হল:
';;' তালিকার পরে শেষ করুন।
';&' পরবর্তী তালিকায় প্রবেশ করুন।
';|' অবশিষ্ট প্যাটার্ন-তালিকা tuples মূল্যায়ন.
প্রস্থান অবস্থা a কেস বিবৃতি হল যে মৃত্যুদন্ডপ্রাপ্ত তালিকা; যদি না তালিকা is
কার্যকর করা হয়েছে, প্রস্থান অবস্থা শূন্য।
উন্নত নাম [ভিতরে শব্দ ...]; করতে তালিকা; সম্পন্ন
প্রতিটির জন্য শব্দ নির্দিষ্ট শব্দ তালিকায়, পরামিতি নাম শব্দ এবং সেট করা হয়
তালিকা মৃত্যুদন্ড কার্যকর করা হয়। যদি in একটি শব্দ তালিকা, অবস্থানগত পরামিতি নির্দিষ্ট করতে ব্যবহৃত হয় না
($1, $2, ইত্যাদি) পরিবর্তে ব্যবহার করা হয়। ঐতিহাসিক কারণে, খোলা এবং বন্ধ বন্ধনী হতে পারে
পরিবর্তে ব্যবহার করা হয় do এবং সম্পন্ন যেমন উন্নত i; { প্রতিধ্বনি $i; }. প্রস্থান অবস্থা a উন্নত
বিবৃতি হল শেষ প্রস্থান অবস্থা তালিকা; যদি তালিকা মৃত্যুদন্ড কার্যকর করা হয় না, প্রস্থান অবস্থা
শূন্য।
if তালিকা; তারপর তালিকা; [এলিফ তালিকা; তারপর তালিকা;] ... [অন্য তালিকা;] fi
যদি প্রস্থান অবস্থা প্রথম তালিকা শূন্য, দ্বিতীয় তালিকা মৃত্যুদন্ড কার্যকর করা হয়; অন্যথায়,
দ্য তালিকা অনুসরণ Elif, যদি থাকে, অনুরূপ পরিণতি সহ মৃত্যুদন্ড কার্যকর করা হয়। আমি পরে গেছি
নিম্নলিখিত তালিকা if এবং Elifs ব্যর্থ (অর্থাৎ নন-জিরো স্ট্যাটাস সহ প্রস্থান করুন), তালিকা
অনুসরণ আর মৃত্যুদন্ড কার্যকর করা হয়। একটি প্রস্থান অবস্থা if বিবৃতি হল যে অ-
শর্তাধীন তালিকা যে মৃত্যুদন্ড কার্যকর করা হয়; যদি না শর্তহীন তালিকা মৃত্যুদন্ড কার্যকর করা হয়, প্রস্থান
অবস্থা শূন্য।
নির্বাচন করা নাম [ভিতরে শব্দ ...]; করতে তালিকা; সম্পন্ন
সার্জারির নির্বাচন করা বিবৃতি একটি মেনু সহ ব্যবহারকারীকে উপস্থাপন করার একটি স্বয়ংক্রিয় পদ্ধতি প্রদান করে
এবং এটি থেকে নির্বাচন করা। নির্দিষ্ট একটি গণনা তালিকা শব্দ(s) মুদ্রিত হয়
স্ট্যান্ডার্ড ত্রুটি, একটি প্রম্পট অনুসরণ করে (PS3: সাধারণত '#?')। অনুরূপ একটি সংখ্যা
গণনা করা শব্দগুলির একটি তারপর স্ট্যান্ডার্ড ইনপুট থেকে পড়া হয়, নাম যাও সেট হয়
নির্বাচিত শব্দ (অথবা নির্বাচন বৈধ না হলে সেট করা হয়নি), উত্তর যা পড়া হয়েছে তাতে সেট করা হয়েছে
(প্রধান/পরবর্তী স্থান ছিনতাই করা হয়েছে), এবং তালিকা মৃত্যুদন্ড কার্যকর করা হয়। যদি একটি ফাঁকা লাইন (যেমন
শূন্য বা তার বেশি IFS অক্টেট) প্রবেশ করানো হয়, মেনুটি কার্যকর না করেই পুনরায় মুদ্রণ করা হয় তালিকা.
কখন তালিকা সম্পূর্ণ হয়, গণনাকৃত তালিকা প্রিন্ট করা হয় যদি উত্তর শূন্য হয়, প্রম্পট হয়
মুদ্রিত, এবং তাই। এই প্রক্রিয়াটি চলতে থাকে যতক্ষণ না একটি ফাইলের শেষ পঠিত হয়, একটি বাধা
প্রাপ্ত হয়, বা ক বিরতি বিবৃতি লুপের ভিতরে কার্যকর করা হয়। যদি "শব্দে ..." হয়
বাদ দেওয়া, অবস্থানগত পরামিতি ব্যবহার করা হয় (যেমন $1, $2, ইত্যাদি)। ঐতিহাসিক জন্য
কারণ, এর পরিবর্তে খোলা এবং বন্ধ বন্ধনী ব্যবহার করা যেতে পারে do এবং সম্পন্ন যেমন নির্বাচন করা i; {
প্রতিধ্বনি $i; }. প্রস্থান অবস্থা a নির্বাচন করা বিবৃতি শূন্য হলে a বিরতি বিবৃতি হল
লুপ থেকে প্রস্থান করতে ব্যবহৃত হয়, অন্যথায় শূন্য নয়।
পর্যন্ত তালিকা; করতে তালিকা; সম্পন্ন
এই মত কাজ করে যখন, যে শরীরের প্রস্থান অবস্থা শুধুমাত্র যখন মৃত্যুদন্ড কার্যকর করা হয়
প্রথম তালিকা অ-শূন্য।
যখন তালিকা; করতে তালিকা; সম্পন্ন
A যখন একটি প্রি-চেকড লুপ। এর শরীরের প্রস্থান অবস্থা হিসাবে প্রায়ই মৃত্যুদন্ড কার্যকর করা হয়
প্রথম তালিকা শূন্য প্রস্থান অবস্থা a যখন বিবৃতি শেষ প্রস্থান অবস্থা
এর তালিকা লুপের শরীরে; শরীরের মৃত্যুদন্ড কার্যকর না হলে, প্রস্থান অবস্থা হয়
শূন্য।
ক্রিয়া নাম { তালিকা; }
ফাংশন সংজ্ঞায়িত করে নাম (দেখুন কার্যাবলী নিচে). উল্লেখ্য যে পুনর্নির্দেশ নির্দিষ্ট করা হয়েছে
একটি ফাংশনের সংজ্ঞার পরে যখনই ফাংশনটি কার্যকর করা হয়, তখন নয়
ফাংশন সংজ্ঞা কার্যকর করা হয়.
নাম() হুকুম
বেশিরভাগই একই রকম ক্রিয়া (দেখুন কার্যাবলী নিচে). হোয়াইটস্পেস (স্পেস বা ট্যাব) এর পরে
নাম বেশিরভাগ সময় উপেক্ষা করা হবে।
ক্রিয়া নাম() { তালিকা; }
একই রকম নাম()সজোরে আঘাতism)। দ্য ক্রিয়া কীওয়ার্ড উপেক্ষা করা হয়।
সময় [-p] [পাইপলাইন]
সার্জারির আদেশ ফাঁসি বিভাগ বর্ণনা করে সময় সংরক্ষিত শব্দ।
(( অভিব্যক্তি ))
গাণিতিক অভিব্যক্তি অভিব্যক্তি মূল্যায়ন করা হয়; "লেট এক্সপ্রেশন" এর সমতুল্য (দেখুন
পাটীগণিত এক্সপ্রেশন এবং দিন কমান্ড, নীচে) একটি যৌগ গঠনে।
[[ অভিব্যক্তি ]]
অনুরূপ পরীক্ষা এবং [ ... ] কমান্ড (পরে বর্ণিত), নিম্নলিখিত সহ
ব্যতিক্রম:
· ক্ষেত্র বিভাজন এবং ফাইলের নাম তৈরি করা আর্গুমেন্টে সঞ্চালিত হয় না।
· সার্জারির -a (এবং) এবং -o (বা) অপারেটর যথাক্রমে '&&' এবং '||' দিয়ে প্রতিস্থাপিত হয়।
· অপারেটর (যেমন '-f', '=', '!') অবশ্যই উদ্ধৃত হতে হবে।
· প্যারামিটার, কমান্ড এবং গাণিতিক প্রতিস্থাপনগুলি এক্সপ্রেশন হিসাবে সঞ্চালিত হয়
'&&' এবং '||'-এর জন্য মূল্যায়িত এবং অলস অভিব্যক্তি মূল্যায়ন ব্যবহার করা হয় অপারেটর
এর মানে হল নিম্নলিখিত বিবৃতিতে, $( যদি এবং শুধুমাত্র যদি মূল্যায়ন করা হয়
ফাইল foo বিন্যাস বিদ্যমান এবং পঠনযোগ্য:
$ [[ -r foo && $(
· '!=' এবং '=' এক্সপ্রেশনের দ্বিতীয় অপারেন্ড হল প্যাটার্নের একটি উপসেট (যেমন
তুলনা [[ foobar = f*r ]] সফল হয়)। এটি এমনকি পরোক্ষভাবে কাজ করে:
$ বার = foobar; baz='f*r'
$ [[ $bar = $baz]]; প্রতিধ্বনি $?
$ [[ $bar = "$baz" ]]; প্রতিধ্বনি $?
সম্ভবত আশ্চর্যজনকভাবে, প্রথম তুলনা সফল হয়, যেখানে দ্বিতীয়টি হয় না।
এটি বর্তমানে সমস্ত এক্সটগ্লোব মেটাক্যারেক্টারের ক্ষেত্রে প্রযোজ্য নয়।
বরাত দিয়ে
উদ্ধৃতি ব্যবহার করা হয় শেলটিকে বিশেষভাবে অক্ষর বা শব্দের ব্যবহার থেকে বিরত রাখতে। সেখানে
উদ্ধৃতির তিনটি পদ্ধতি। প্রথমত, '\' নিম্নলিখিত অক্ষরটি উদ্ধৃত করে, যদি না এটি তে থাকে
একটি লাইনের শেষ, যে ক্ষেত্রে '\' এবং নতুন লাইন উভয়ই ছিনতাই করা হয়। দ্বিতীয়, একক
উদ্ধৃতি ("'") পরবর্তী একক উদ্ধৃতি পর্যন্ত সবকিছু উদ্ধৃত করে (এটি লাইন স্প্যান করতে পারে)। তৃতীয়, ক
ডবল কোট ('"') '$', '`' এবং '\' ছাড়া সমস্ত অক্ষর উদ্ধৃত করে, পরবর্তী আনস্কেপড পর্যন্ত
ডবল উদ্ধৃতি। ডবল কোটের ভিতরে '$' এবং '`' এর স্বাভাবিক অর্থ রয়েছে (যেমন প্যারামিটার,
পাটিগণিত, বা কমান্ড প্রতিস্থাপন) ব্যতীত ফলাফলগুলিতে কোনও ক্ষেত্র বিভাজন করা হয় না
দ্বি-উদ্ধৃত প্রতিস্থাপনের, এবং কমান্ড প্রতিস্থাপনের পুরানো-শৈলী ফর্ম আছে
ডবল উদ্ধৃতির জন্য ব্যাকস্ল্যাশ-উদ্ধৃতি সক্রিয় করা হয়েছে। যদি একটি ডবল-উদ্ধৃত স্ট্রিং এর ভিতরে একটি '\' হয়
'\', '$', '`', বা '"' এর পরে, এটি দ্বিতীয় অক্ষর দ্বারা প্রতিস্থাপিত হয়; যদি এটি অনুসরণ করা হয়
একটি নতুন লাইন দ্বারা, '\' এবং নতুন লাইন উভয়ই ছিনতাই করা হয়; অন্যথায়, '\' এবং উভয়ই
অক্ষর অনুসরণ অপরিবর্তিত.
যদি একটি একক-উদ্ধৃত স্ট্রিং একটি উদ্ধৃতিবিহীন '$' দ্বারা পূর্বে থাকে, C শৈলী ব্যাকস্ল্যাশ প্রসারণ (দেখুন
নিচে) প্রয়োগ করা হয়েছে (এমনকি ভিতরের একক উদ্ধৃতি অক্ষরও এড়িয়ে যেতে পারে এবং শেষ করবেন না
তারপর স্ট্রিং); প্রসারিত ফলাফল অন্য কোনো একক-উদ্ধৃত স্ট্রিং হিসাবে গণ্য করা হয়। যদি একটি
ডবল-উদ্ধৃত স্ট্রিং একটি অ-উদ্ধৃত '$' দ্বারা পূর্বে, '$' সহজভাবে উপেক্ষা করা হয়।
ব্যাকস্ল্যাশ সম্প্রসারণ
এমন জায়গায় যেখানে ব্যাকস্ল্যাশগুলি প্রসারিত হয়, নির্দিষ্ট C এবং AT&T UNIX ksh বা জিএনইউ সজোরে আঘাত শৈলী
পলায়ন অনুবাদ করা হয়. এর মধ্যে রয়েছে '\a', '\b', '\f', '\n', '\r', '\t', '\U#########',
'\u####', এবং '\v'। '\U########' এবং '\u####', "#" মানে থিচের একটি হেক্সাডেসিমেল ডিজিট
চার বা আট পর্যন্ত কেউ থাকতে পারে না; এই এস্কেপগুলি একটি ইউনিকোড কোডপয়েন্টকে UTF-8 তে অনুবাদ করে।
উপরন্তু, '\E' এবং '\e' এস্কেপ ক্যারেক্টারে প্রসারিত হয়।
মধ্যে ছাপানো বিল্টইন মোড, '\"', '\', এবং '\?' স্পষ্টভাবে বাদ দেওয়া হয়; অক্টাল সিকোয়েন্স
তিনটি অক্টাল ডিজিট পর্যন্ত "#" ডিজিট শূন্য ('\0###') এর সাথে প্রিফিক্স করা আবশ্যক নয়;
হেক্সাডেসিমেল সিকোয়েন্স '\x##' দুটি হেক্সাডেসিমেল ডিজিট "#" পর্যন্ত সীমাবদ্ধ নয়; উভয়
অক্টাল এবং হেক্সাডেসিমেল সিকোয়েন্সগুলি কাঁচা অক্টেটে রূপান্তরিত হয়; '\#', যেখানে # উপরের কোনটি নয়,
অনুবাদ করে \# (ব্যাকস্ল্যাশগুলি ধরে রাখা হয়)।
C শৈলী মোডে ব্যাকস্ল্যাশ সম্প্রসারণ কিছুটা আলাদা: অক্টাল সিকোয়েন্স '\###' থাকতে হবে
তিনটি অক্টাল ডিজিট "#" পর্যন্ত একটির উপসর্গে কোনো অঙ্ক শূন্য নেই এবং কাঁচা অক্টেট পাওয়া যায়;
হেক্সাডেসিমেল সিকোয়েন্স '\x#*' লোভের সাথে যতগুলি হেক্সাডেসিমেল ডিজিট “#” খেতে পারে এবং
প্রথম নন-হেক্সাডেসিমেল সংখ্যা দিয়ে শেষ করুন; এগুলো একটি ইউনিকোড কোডপয়েন্ট অনুবাদ করে
UTF-8। সিকোয়েন্স '\c#', যেখানে "#" যেকোন অক্টেট, Ctrl-# তে অনুবাদ করে (যা মূলত
মানে, '\c?' DEL হয়ে যায়, বাকি সবকিছু 0x1F দিয়ে বিটওয়াইজ করা হয়)। অবশেষে, '\#', কোথায়
# উপরের কোনটি নয়, # এ অনুবাদ করে (ব্যাকস্ল্যাশ ছাঁটা হয়েছে), এমনকি যদি এটি একটি হয়
নতুন লাইন.
ওরফে
দুটি ধরণের উপনাম রয়েছে: সাধারণ কমান্ড উপনাম এবং ট্র্যাক করা উপনাম। কমান্ড উপনাম
সাধারণত একটি দীর্ঘ বা প্রায়ই ব্যবহৃত কমান্ডের জন্য একটি ছোট হাত হিসাবে ব্যবহৃত হয়। শেল প্রসারিত হয়
কমান্ড উপনাম (অর্থাৎ এর মানের জন্য উপনাম নাম প্রতিস্থাপন করে) যখন এটি প্রথম শব্দটি পড়ে
একটি আদেশের। আরও উপনাম চেক করতে একটি প্রসারিত উপনাম পুনরায় প্রক্রিয়া করা হয়৷ যদি একটি আদেশ
উপনাম একটি স্থান বা ট্যাবে শেষ হয়, নিম্নলিখিত শব্দটিও উপনাম সম্প্রসারণের জন্য চেক করা হয়। দ্য
উপনাম সম্প্রসারণ প্রক্রিয়া বন্ধ হয়ে যায় যখন একটি শব্দ পাওয়া যায় যা একটি উপনাম নয়, যখন একটি উদ্ধৃত শব্দ
পাওয়া যায়, বা যখন একটি উপনাম শব্দ যা বর্তমানে প্রসারিত হচ্ছে তা পাওয়া যায়। উপনাম হয়
বিশেষভাবে একটি ইন্টারেক্টিভ বৈশিষ্ট্য: যখন তারা স্ক্রিপ্টে এবং তে কাজ করে
কমান্ড লাইন কিছু ক্ষেত্রে, উপনামগুলি লেক্সিংয়ের সময় প্রসারিত হয়, তাই তাদের ব্যবহার অবশ্যই a তে হতে হবে
তাদের সংজ্ঞা থেকে পৃথক কমান্ড ট্রি; অন্যথায়, উপনাম পাওয়া যাবে না।
লক্ষণীয়ভাবে, কমান্ড তালিকা (সেমিকোলন দ্বারা পৃথক, কমান্ড প্রতিস্থাপনেও নিউলাইন দ্বারা)
একটি একই পার্স গাছ হতে পারে.
নিম্নলিখিত কমান্ড উপনামগুলি শেল দ্বারা স্বয়ংক্রিয়ভাবে সংজ্ঞায়িত করা হয়:
অটোলোড='\typeset -fu'
ফাংশন = '\typeset -f'
হ্যাশ='\বিল্টিন উপনাম -t'
ইতিহাস = '\ বিল্টিন এফসি -এল'
পূর্ণসংখ্যা = '\typeset -i'
স্থানীয়='\typeset'
লগইন='\exec লগইন'
nameref='\typeset -n'
nohup='nohup'
r='\builtin fc -e -'
টাইপ = '\ বিল্টিন কোথা থেকে -v'
ট্র্যাক করা উপনামগুলি শেলকে মনে রাখার অনুমতি দেয় যেখানে এটি একটি নির্দিষ্ট কমান্ড পেয়েছে। প্রথম
শেল একটি ট্র্যাক করা উপনাম হিসাবে চিহ্নিত একটি কমান্ডের জন্য একটি পথ অনুসন্ধান করার সময়, এটি সংরক্ষণ করে
আদেশের সম্পূর্ণ পথ। পরের বার কমান্ডটি কার্যকর করা হলে, শেলটি পরীক্ষা করে
এটি এখনও বৈধ তা দেখতে পাথ সংরক্ষণ করা হয়েছে, এবং যদি তাই হয়, পাথ অনুসন্ধানের পুনরাবৃত্তি এড়ায়।
ট্র্যাক করা উপনাম তালিকাভুক্ত এবং ব্যবহার করে তৈরি করা যেতে পারে উপনাম -t. নোট করুন যে PATH পরিবর্তন
প্যারামিটার সমস্ত ট্র্যাক করা উপনামের জন্য সংরক্ষিত পাথগুলি সাফ করে। যদি ট্র্যাককল বিকল্প সেট করা হয়
(অর্থাত সেট -o ট্র্যাককল or সেট -h), শেল সমস্ত কমান্ড ট্র্যাক করে। এই বিকল্প সেট করা আছে
অ-ইন্টারেক্টিভ শেলগুলির জন্য স্বয়ংক্রিয়ভাবে। ইন্টারেক্টিভ শেল জন্য, শুধুমাত্র নিম্নলিখিত
কমান্ড স্বয়ংক্রিয়ভাবে ট্র্যাক করা হয়: বিড়াল(২০১১), cc(২০১১), chmod(২০১১), cp(২০১১), তারিখ(২০১১), ed(২০১১),
Emacs(২০১১), , grep(২০১১), ls(২০১১), করা(২০১১), mv(২০১১), pr(২০১১), rm(২০১১), কিন্তু(২০১১), sh(২০১১), vi(1), এবং কে(1).
প্রতিকল্পন
একটি সাধারণ-কমান্ড কার্যকর করার জন্য শেলটি যে প্রথম পদক্ষেপটি নেয় তা হল প্রতিস্থাপনগুলি সম্পাদন করা
আদেশের শব্দ। তিনটি ধরণের প্রতিস্থাপন রয়েছে: প্যারামিটার, কমান্ড এবং
পাটিগণিত পরামিতি প্রতিস্থাপন, যা পরবর্তী বিভাগে বিস্তারিতভাবে বর্ণিত হয়েছে,
$ ফর্ম নিননাম অথবা ${...}; কমান্ড প্রতিস্থাপন $( ফর্ম নেয়হুকুম) বা
(বঞ্চিত) `হুকুম` বা (বর্তমান পরিবেশে সম্পাদিত) ${ হুকুম;} এবং ফালা
trailing newlines; এবং গাণিতিক প্রতিস্থাপন $(( রূপ নেয়অভিব্যক্তি))। পার্সিং
কারেন্ট-এনভায়রনমেন্ট কমান্ড প্রতিস্থাপনের জন্য খোলার পরে একটি স্থান, ট্যাব বা নিউলাইন প্রয়োজন
বন্ধনী এবং বন্ধনী বন্ধনী একটি কীওয়ার্ড হিসাবে স্বীকৃত হবে (অর্থাৎ একটি নতুন লাইন দ্বারা পূর্বে আছে
বা সেমিকোলন)। এগুলিকে ফানসাব (ফাংশন প্রতিস্থাপন)ও বলা হয় এবং এর মতো আচরণ করে
যে ফাংশন স্থানীয় এবং প্রত্যাবর্তন কাজ, এবং যে প্রস্থান প্যারেন্ট শেল বন্ধ করে; শেল
অপশন শেয়ার করা হয়।
প্রতিস্থাপনের আরেকটি রূপ হল valsubs (মান প্রতিস্থাপন) ${|হুকুম;} কোনটি
ফানসাবের মতো বর্তমান পরিবেশেও কার্যকর করা হয়েছে, তবে তাদের I/O অভিভাবকের সাথে শেয়ার করুন;
পরিবর্তে, প্রাথমিকভাবে খালি, অভিব্যক্তি-স্থানীয় পরিবর্তনশীল REPLY যাই হোক না কেন তারা মূল্যায়ন করে
এর মধ্যে সেট করুন হুকুমs.
যদি একটি প্রতিস্থাপন ডবল উদ্ধৃতি বাইরে প্রদর্শিত হয়, প্রতিস্থাপন ফলাফল হয়
সাধারণত IFS-এর বর্তমান মান অনুযায়ী শব্দ বা ক্ষেত্র বিভাজন সাপেক্ষে
প্যারামিটার IFS প্যারামিটার অক্টেটগুলির একটি তালিকা নির্দিষ্ট করে যা একটি স্ট্রিং আপ ভাঙতে ব্যবহৃত হয়
বিভিন্ন শব্দে; সেট স্পেস, ট্যাব এবং নিউলাইন থেকে যেকোন অক্টেট যা IFS-এ উপস্থিত হয়
অক্টেটগুলিকে "IFS হোয়াইটস্পেস" বলা হয়। এক বা একাধিক IFS হোয়াইটস্পেস অক্টেটের ক্রম, ইন
শূন্য বা একটি নন-IFS হোয়াইটস্পেস অক্টেটের সাথে সমন্বয়, একটি ক্ষেত্রকে সীমাবদ্ধ করুন। বিশেষ ক্ষেত্রে,
অগ্রণী এবং পিছনের IFS হোয়াইটস্পেস ছিনতাই করা হয়েছে (অর্থাৎ কোন অগ্রণী বা পিছনের খালি ক্ষেত্র নেই
এটি দ্বারা নির্মিত); অগ্রণী বা পিছনের নন-IFS হোয়াইটস্পেস একটি খালি ক্ষেত্র তৈরি করে।
উদাহরণ: যদি IFS সেট করা থাকে " :”, এবং VAR সেট করা আছে
" ক : B::D", $VAR-এর প্রতিস্থাপনের ফলাফল চারটি ক্ষেত্রে: 'A',
'B', '' (একটি খালি ক্ষেত্র), এবং 'D'। উল্লেখ্য যে যদি IFS প্যারামিটার খালি সেট করা হয়
স্ট্রিং, ক্ষেত্র বিভাজন করা হয় না; যদি এটি সেট না করা হয়, স্থান, ট্যাব এবং এর ডিফল্ট মান
নতুন লাইন ব্যবহার করা হয়।
এছাড়াও, মনে রাখবেন যে ক্ষেত্রের বিভাজন শুধুমাত্র তাৎক্ষণিক ফলাফলের জন্য প্রযোজ্য
প্রতিস্থাপন পূর্ববর্তী উদাহরণ ব্যবহার করে, $VAR:E এর প্রতিস্থাপনের ফলাফল হয়
ক্ষেত্র: 'A', 'B', ', এবং 'D:E', 'A', 'B', '', 'D', এবং 'E' নয়। এই আচরণ POSIX
অনুগত, কিন্তু কিছু অন্যান্য শেল বাস্তবায়নের সাথে বেমানান যা ফিল্ড স্প্লিটিং করে
যে শব্দটিতে প্রতিস্থাপন রয়েছে বা একটি সাধারণ হোয়াইটস্পেস ডিলিমিটার হিসাবে IFS ব্যবহার করুন।
প্রতিস্থাপনের ফলাফলগুলি, যদি না অন্যথায় নির্দিষ্ট করা হয়, এছাড়াও বন্ধনী সম্প্রসারণ সাপেক্ষে
এবং ফাইলের নাম সম্প্রসারণ (নীচের প্রাসঙ্গিক বিভাগগুলি দেখুন)।
একটি কমান্ড প্রতিস্থাপন নির্দিষ্ট কমান্ড দ্বারা উত্পন্ন আউটপুট দ্বারা প্রতিস্থাপিত হয় যা
একটি subshell চালান. $(এর জন্যহুকুম) এবং ${|হুকুম;} এবং ${ হুকুম;} প্রতিস্থাপন, স্বাভাবিক
উদ্ধৃতি নিয়ম ব্যবহার করা হয় যখন হুকুম পার্স করা হয়; যাইহোক, বঞ্চিত `এর জন্যহুকুম` ফর্ম, ক
'\' এর পরে '$', '`', বা '\' ছিনিয়ে নেওয়া হয় (যেমন '"' হয় যখন প্রতিস্থাপন অংশ হয়
একটি দ্বি-উদ্ধৃত স্ট্রিং; একটি ব্যাকস্ল্যাশ '\' এর পরে অন্য কোনো অক্ষর অপরিবর্তিত।
কমান্ড প্রতিস্থাপন একটি বিশেষ ক্ষেত্রে, ফর্ম একটি আদেশফাইল থেকে ব্যাখ্যা করা হয়
এর বিষয়বস্তু প্রতিস্থাপন মানে ফাইল। মনে রাখবেন যে $( হিসাবে একই প্রভাব আছে $(বিড়াল foo).
উল্লেখ্য যে কিছু শেল কমান্ড প্রতিস্থাপনের জন্য পুনরাবৃত্তিমূলক পার্সার ব্যবহার করে না, যার ফলে
নির্দিষ্ট নির্মাণের জন্য ব্যর্থতা; বহনযোগ্য হতে, 'x=$(cat) <<"EOF"' (বা
newline-keeping 'x=<<"EOF"' এক্সটেনশন) এর পরিবর্তে শুধুমাত্র স্ট্রিংটি স্লারপ করার জন্য। IEEE Std 1003.1
("POSIX.1") 'x=$(কেস $foo ইন (বার) ইকো $বার' ফর্মের কেস স্টেটমেন্ট ব্যবহার করার পরামর্শ দেয়
;; (*) echo $baz;; esac)' পরিবর্তে, যা কাজ করবে কিন্তু এর জন্য উদাহরণ হিসেবে কাজ করবে না
বহনযোগ্যতা সমস্যা।
x=$(বারে $foo কেস) echo $bar ;; *) echo $baz;; esac)
# উপরের পুরানো শেলস পার্স করতে ব্যর্থ হয়; নিচে সমাধান দেওয়া হল
x=$(eval $(cat)) <<"EOF"
কেস $foo বারে) echo $bar ;; *) echo $baz;; esac
ফাইলের শেষে
গাণিতিক প্রতিস্থাপন নির্দিষ্ট অভিব্যক্তির মান দ্বারা প্রতিস্থাপিত হয়। জন্য
উদাহরণ, কমান্ড ছাপানো $((2+3*4)) প্রদর্শন 14. দেখুন পাটীগণিত এক্সপ্রেশন একটি জন্য
একটি অভিব্যক্তির বর্ণনা।
পরামিতি
পরামিতি হল শেল ভেরিয়েবল; তাদের মান নির্ধারণ করা যেতে পারে এবং তাদের মানগুলি অ্যাক্সেস করা যেতে পারে
একটি পরামিতি প্রতিস্থাপন ব্যবহার করে। একটি প্যারামিটার নাম হয় বিশেষ একক এক
নীচে বর্ণিত যতিচিহ্ন বা অঙ্কের অক্ষর পরামিতি, বা শূন্য দ্বারা অনুসরণ করা একটি অক্ষর বা
আরও অক্ষর বা সংখ্যা ('_' একটি অক্ষর হিসাবে গণনা করা হয়)। পরের ফর্মটিকে অ্যারে হিসাবে বিবেচনা করা যেতে পারে
ফর্মের একটি অ্যারে সূচক যুক্ত করে [এক্সপ্রেস] কোথায় এক্সপ্রেস একটি গাণিতিক অভিব্যক্তি।
মধ্যে অ্যারে সূচক ধন্যবাদ 0 থেকে 4294967295 এর মধ্যে সীমাবদ্ধ, অন্তর্ভুক্ত। এটাই,
তারা একটি 32-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যা।
প্যারামিটার প্রতিস্থাপন $ ফর্ম নেয়নাম, ${নাম}, অথবা ${নাম[এক্সপ্রেস]} কোথায় নাম ইহা একটি
পরামিতি নাম। ${ সহ সমস্ত অ্যারের উপাদানগুলির প্রতিস্থাপননাম[*]} এবং ${নাম[@]} কাজ করে
অবস্থানগত পরামিতিগুলির জন্য $* এবং $@ এর সমতুল্য। যদি প্রতিস্থাপন একটি উপর সঞ্চালিত হয়
প্যারামিটার (বা একটি অ্যারে প্যারামিটার উপাদান) যা সেট করা হয়নি, একটি নাল স্ট্রিং প্রতিস্থাপিত হয়
যদি না nounset বিকল্প (সেট -o nounset or সেট -u) সেট করা হয়, যে ক্ষেত্রে একটি ত্রুটি ঘটে।
পরামিতি বিভিন্ন উপায়ে মান নির্ধারণ করা যেতে পারে। প্রথমত, শেল নিহিতভাবে সেট করে
কিছু প্যারামিটার যেমন '#', 'PWD', এবং '$'; এই একমাত্র উপায় বিশেষ একক চরিত্র
পরামিতি সেট করা হয়। দ্বিতীয়ত, শেলের পরিবেশ থেকে পরামিতিগুলি আমদানি করা হয়
স্টার্টআপ তৃতীয়, কমান্ড লাইনে প্যারামিটারগুলিকে মান নির্ধারণ করা যেতে পারে: উদাহরণস্বরূপ, FOO=বার
প্যারামিটার "FOO" কে "বার" এ সেট করে; একাধিক প্যারামিটার অ্যাসাইনমেন্ট একক দেওয়া যেতে পারে
কমান্ড লাইন এবং সেগুলিকে একটি সাধারণ-কমান্ড দ্বারা অনুসরণ করা যেতে পারে, এই ক্ষেত্রে অ্যাসাইনমেন্টগুলি
কার্যত শুধুমাত্র কমান্ডের সময়কালের জন্য (এই ধরনের অ্যাসাইনমেন্টগুলিও রপ্তানি করা হয়; দেখুন
এর প্রভাবের জন্য নীচে)। মনে রাখবেন যে প্যারামিটারের নাম এবং '=' উভয়ই হতে হবে
শেল একটি প্যারামিটার অ্যাসাইনমেন্ট সনাক্ত করার জন্য উদ্ধৃতিহীন। নির্মাণ FOO+=বাজ এছাড়াও
স্বীকৃত; পুরানো এবং নতুন মান অবিলম্বে একত্রিত হয়. সেট করার চতুর্থ উপায়
একটি পরামিতি সঙ্গে আছে রপ্তানি, বিশ্বব্যাপী, শুধুমাত্র পাঠযোগ্য, এবং টাইপসেট আদেশ; তাদের দেখুন
মধ্যে বর্ণনা আদেশ ফাঁসি অধ্যায়. পঞ্চম, উন্নত এবং নির্বাচন করা loops পরামিতি সেট
পাশাপাশি getopts, পড়া, এবং সেট -A আদেশ অবশেষে, পরামিতি বরাদ্দ করা যেতে পারে
অ্যাসাইনমেন্ট অপারেটর ব্যবহার করে গাণিতিক এক্সপ্রেশনের ভিতরে মান (দেখুন পাটীগণিত এক্সপ্রেশন
নিচে) অথবা ${ ব্যবহার করেনাম=মূল্য} প্যারামিটার প্রতিস্থাপনের ফর্ম (নীচে দেখুন)।
এক্সপোর্ট অ্যাট্রিবিউট সহ পরামিতি ( ব্যবহার করে সেট করুন রপ্তানি or টাইপসেট -x আদেশ, বা দ্বারা
সাধারণ কমান্ড দ্বারা অনুসরণ করা প্যারামিটার অ্যাসাইনমেন্টগুলি পরিবেশে রাখা হয় (দেখুন৷
প্রায়(7)) কমান্ড শেল দ্বারা চালিত হয় নাম=মূল্য জোড়া যে ক্রমে পরামিতি
পরিবেশে প্রদর্শিত একটি কমান্ড অনির্দিষ্ট। শেল আপ শুরু হলে, এটি
এর পরিবেশ থেকে প্যারামিটার এবং তাদের মান বের করে এবং স্বয়ংক্রিয়ভাবে রপ্তানি সেট করে
যারা পরামিতি জন্য বৈশিষ্ট্য.
সংশোধক ${ এ প্রয়োগ করা যেতে পারেনাম} প্যারামিটার প্রতিস্থাপনের ফর্ম:
${নাম:-শব্দ}
If নাম সেট করা হয়েছে এবং NULL নয়, এটি প্রতিস্থাপিত হয়েছে; অন্যথায়, শব্দ প্রতিস্থাপন করা হয়।
${নাম:+শব্দ}
If নাম সেট করা আছে এবং NULL নয়, শব্দ প্রতিস্থাপিত হয়; অন্যথায়, কিছুই প্রতিস্থাপিত হয় না।
${নাম:=শব্দ}
If নাম সেট করা হয়েছে এবং NULL নয়, এটি প্রতিস্থাপিত হয়েছে; অন্যথায়, এটি বরাদ্দ করা হয় শব্দ এবং
এর ফলে মান নাম প্রতিস্থাপন করা হয়।
${নাম:?শব্দ}
If নাম সেট করা হয়েছে এবং NULL নয়, এটি প্রতিস্থাপিত হয়েছে; অন্যথায়, শব্দ মুদ্রিত হয়
স্ট্যান্ডার্ড ত্রুটি (এর আগে নাম:) এবং একটি ত্রুটি ঘটে (সাধারণত সমাপ্তি ঘটায়
একটি শেল স্ক্রিপ্ট, ফাংশন, বা '.' ব্যবহার করে উৎসারিত স্ক্রিপ্টের অন্তর্নির্মিত)। যদি শব্দ is
বাদ দেওয়া হলে, স্ট্রিং "প্যারামিটার নাল বা সেট করা হয়নি" পরিবর্তে ব্যবহার করা হয়। বর্তমানে একটি বাগ,
if শব্দ একটি ভেরিয়েবল যা নাল স্ট্রিং পর্যন্ত প্রসারিত হয়, এরর বার্তাটিও রয়েছে
মুদ্রিত।
উল্লেখ্য যে, উপরের সকলের জন্য, শব্দ আসলে উদ্ধৃত, এবং বিশেষ পার্সিং হিসাবে বিবেচিত হয়
নিয়ম প্রযোজ্য অভিব্যক্তিটি দ্বিগুণ উদ্ধৃত কিনা তা নিয়ে পার্সিং নিয়মগুলিও আলাদা: শব্দ
তারপর ডাবল-উদ্ধৃতি নিয়ম ব্যবহার করে, ডাবল উদ্ধৃতি নিজেই ('"') এবং সমাপ্তি ছাড়া
ব্রেস, যা, ব্যাকস্ল্যাশ এড়িয়ে গেলে, উদ্ধৃতি অপসারণ প্রয়োগ করা হয়।
উপরের সংশোধকগুলিতে, ':' বাদ দেওয়া যেতে পারে, যে ক্ষেত্রে শর্তগুলি শুধুমাত্র নির্ভর করে
নাম সেট করা হচ্ছে (সেটের বিপরীতে এবং NULL নয়)। যদি শব্দ প্রয়োজন, প্যারামিটার, কমান্ড,
পাটিগণিত, এবং টিল্ড প্রতিস্থাপন এটিতে সঞ্চালিত হয়; যদি শব্দ প্রয়োজন নেই, তা নয়
মূল্যায়ন
পরামিতি প্রতিস্থাপনের নিম্নলিখিত ফর্মগুলিও ব্যবহার করা যেতে পারে (যদি নাম একটি অ্যারে,
"0" কী সহ উপাদানটি স্কেলার প্রসঙ্গে প্রতিস্থাপিত হবে):
${#নাম}
অবস্থানগত প্যারামিটারের সংখ্যা যদি নাম '*', '@', বা নির্দিষ্ট করা নেই; অন্যথায়
প্যারামিটারের স্ট্রিং মানের দৈর্ঘ্য (অক্ষরে) নাম.
${#নাম[*]}
${#নাম[@]}
অ্যারেতে উপাদানের সংখ্যা নাম.
${%নাম}
প্যারামিটারের স্ট্রিং মানের প্রস্থ (স্ক্রিন কলামে) নাম, অথবা -1 যদি
${নাম} একটি নিয়ন্ত্রণ অক্ষর রয়েছে।
${!নাম}
ভেরিয়েবলের নাম দ্বারা উল্লেখ করা হয়েছে নাম. এটা হবে নাম যখন ছাড়া নাম is
একটি নামের রেফারেন্স (বাউন্ড ভেরিয়েবল), দ্বারা নির্মিত nameref কমান্ড (যা একটি উপনাম
উন্নত টাইপসেট -n).
${!নাম[*]}
${!নাম[@]}
অ্যারের মধ্যে সূচকের নাম (কী) নাম.
${নাম#প্যাটার্ন}
${নাম##প্যাটার্ন}
If প্যাটার্ন প্যারামিটারের মানের শুরুর সাথে মেলে নাম, মিলিত টেক্সট হয়
প্রতিস্থাপনের ফলাফল থেকে মুছে ফেলা হয়েছে। একটি একক '#' সংক্ষিপ্ততম ফলাফল
ম্যাচ, এবং তাদের মধ্যে দুটি দীর্ঘতম ম্যাচের ফলাফল। একটি ভেক্টর প্রয়োগ করা যাবে না
(${*} বা ${@} বা ${অ্যারে[*]} বা ${অ্যারে[@]})।
${নাম%প্যাটার্ন}
${নাম%%প্যাটার্ন}
${..#..} প্রতিস্থাপনের মতো, কিন্তু এটি মানের শেষ থেকে মুছে যায়। হতে পারে না
একটি ভেক্টর প্রয়োগ করা হয়।
${নাম/প্যাটার্ন/স্ট্রিং}
${নাম/#প্যাটার্ন/স্ট্রিং}
${নাম/%প্যাটার্ন/স্ট্রিং}
${নাম//প্যাটার্ন/স্ট্রিং}
এর দীর্ঘতম ম্যাচ প্যাটার্ন প্যারামিটারের মানের মধ্যে নাম দিয়ে প্রতিস্থাপিত হয় স্ট্রিং
(যদি মুছে ফেলা হয় স্ট্রিং খালি; সেই ক্ষেত্রে ট্রেলিং স্ল্যাশ ('/') বাদ দেওয়া যেতে পারে)।
'#' বা '%' দ্বারা অনুসরণ করা একটি অগ্রণী স্ল্যাশ প্যাটার্নটিকে নোঙ্গর করে দেয়৷
মানের শুরু বা শেষ, যথাক্রমে; খালি unanchored প্যাটার্নs কারণ নম্বর
প্রতিস্থাপন; একটি একক নেতৃস্থানীয় স্ল্যাশ বা একটি ব্যবহার প্যাটার্ন যে খালি মেলে
স্ট্রিং শুধুমাত্র একবার প্রতিস্থাপন ঘটতে কারণ; দুটি নেতৃস্থানীয় স্ল্যাশ সব কারণ
প্রতিস্থাপন করা মান মধ্যে মিলের ঘটনা. একটি ভেক্টর প্রয়োগ করা যাবে না.
অদক্ষভাবে বাস্তবায়িত, ধীর হতে পারে.
${নাম:পিওএস:লেন}
প্রথম লেন এর অক্ষর নাম, অবস্থান থেকে শুরু পিওএস, প্রতিস্থাপিত হয়। উভয়
পিওএস এবং:লেন ঐচ্ছিক। যদি পিওএস নেতিবাচক, গণনা শেষে শুরু হয়
স্ট্রিং যদি এটি বাদ দেওয়া হয়, এটি ডিফল্ট 0. যদি লেন বাদ দেওয়া হয় বা এর চেয়ে বেশি
অবশিষ্ট স্ট্রিং এর দৈর্ঘ্য, এটি সব প্রতিস্থাপিত হয়. উভয় পিওএস এবং লেন হয়
গাণিতিক অভিব্যক্তি হিসাবে মূল্যায়ন করা হয়। বর্তমানে, পিওএস একটি স্থান দিয়ে শুরু করতে হবে,
খোলা বন্ধনী বা অঙ্ক স্বীকৃত হতে হবে। একটি ভেক্টর প্রয়োগ করা যাবে না.
${নাম@#}
এর সম্প্রসারণের হ্যাশ (BAFH অ্যালগরিদম ব্যবহার করে) নাম. এটিও ব্যবহার করা হয়
শেলের হ্যাশটেবলের জন্য অভ্যন্তরীণভাবে।
${নাম@Q}
একটি উদ্ধৃত অভিব্যক্তি পুনরায় প্রবেশের জন্য নিরাপদ, যার মান হল এর মান নাম
প্যারামিটার, প্রতিস্থাপিত হয়।
মনে রাখবেন যে প্যাটার্ন বর্ধিত গ্লবিং প্যাটার্ন (@(...)), একক ('...') বা দ্বিগুণ প্রয়োজন হতে পারে
("...") উদ্ধৃতি পালানো ছাড়া -o sh সেট করা হয়
নিম্নলিখিত বিশেষ পরামিতিগুলি শেল দ্বারা নিহিতভাবে সেট করা হয় এবং সরাসরি সেট করা যায় না
অ্যাসাইনমেন্ট ব্যবহার করে:
! শেষ ব্যাকগ্রাউন্ডের প্রসেস আইডি শুরু হয়েছে। যদি কোন ব্যাকগ্রাউন্ড প্রসেস না থাকে
শুরু হয়েছে, প্যারামিটার সেট করা নেই।
# অবস্থানগত প্যারামিটারের সংখ্যা ($1, $2, ইত্যাদি)।
$ শেলের PID, অথবা মূল শেলের PID যদি এটি একটি সাবশেল হয়। করবেন না
অস্থায়ী ফাইলের নাম তৈরি করার জন্য এই পদ্ধতিটি ব্যবহার করুন; দেখা mktemp(1) পরিবর্তে।
- বর্তমান একক অক্ষর বিকল্পগুলির সংমিশ্রণ (দেখুন সেট নিচে কমান্ড
বিকল্পগুলির একটি তালিকার জন্য)।
? শেষ নন-অসিঙ্ক্রোনাস কমান্ডের প্রস্থান অবস্থা কার্যকর করা হয়েছে। যদি শেষ নির্দেশ
একটি সংকেত দ্বারা নিহত হয়েছে, $? 128 প্লাস সিগন্যাল নম্বরে সেট করা হয়েছে, তবে সর্বাধিক 255।
0 শেলের নাম, নিম্নরূপ নির্ধারিত: প্রথম আর্গুমেন্ট থেকে ধন্যবাদ যদি এটা ছিল
সঙ্গে আহ্বান -c বিকল্প এবং যুক্তি দেওয়া হয়েছে; অন্যথায় ফাইল যুক্তি, যদি
এটি সরবরাহ করা হয়েছিল; অন্যথায় শেলটি যে বেসনাম দিয়ে ডাকা হয়েছিল (যেমন argv[0])। $0
বর্তমান স্ক্রিপ্টের নাম বা বর্তমান ফাংশনের নামেও সেট করা আছে,
যদি এটি দিয়ে সংজ্ঞায়িত করা হয় ক্রিয়া কীওয়ার্ড (যেমন একটি কর্ন শেল শৈলী ফাংশন)।
1 .. 9 প্রথম নয়টি অবস্থানগত পরামিতি যা শেল, ফাংশন বা
'.' ব্যবহার করে স্ক্রিপ্ট উৎস করা হয়েছে অন্তর্নির্মিত আরও অবস্থানগত পরামিতি হতে পারে
${ ব্যবহার করে অ্যাক্সেস করা হয়েছেসংখ্যা}.
* সমস্ত অবস্থানগত পরামিতি (0 ব্যতীত), যেমন $1, $2, $3, ...
যদি ডবল উদ্ধৃতিগুলির বাইরে ব্যবহার করা হয়, প্যারামিটারগুলি পৃথক শব্দ (যা সাবজেক্ট করা হয়)
শব্দ বিভক্ত করা; যদি ডবল কোটের মধ্যে ব্যবহার করা হয়, প্যারামিটারগুলি দ্বারা পৃথক করা হয়
IFS প্যারামিটারের প্রথম অক্ষর (বা IFS NULL হলে খালি স্ট্রিং)।
@ একই রকম $*, যদি না এটি ডবল উদ্ধৃতির ভিতরে ব্যবহার করা হয়, যে ক্ষেত্রে একটি পৃথক শব্দ
প্রতিটি অবস্থানগত পরামিতি জন্য উত্পন্ন. কোন অবস্থানগত পরামিতি না থাকলে, না
শব্দ তৈরি হয়। $@ আর্গুমেন্ট অ্যাক্সেস করতে ব্যবহার করা যেতে পারে, শব্দার্থে, হারানো ছাড়া
শূন্য আর্গুমেন্ট বা স্পেস সহ বিভক্ত আর্গুমেন্ট।
নিম্নলিখিত পরামিতি সেট করা হয় এবং/অথবা শেল দ্বারা ব্যবহৃত হয়:
_ (আন্ডারস্কোর) যখন একটি বহিরাগত কমান্ড শেল দ্বারা নির্বাহ করা হয়, তখন এই পরামিতি
নতুন প্রক্রিয়ার পরিবেশে নির্বাহিত হওয়ার পথে সেট করা হয়
আদেশ ইন্টারেক্টিভ ব্যবহারে, এই প্যারামিটারটি প্যারেন্ট শেল-এও সেট করা আছে
পূর্ববর্তী কমান্ডের শেষ শব্দ।
বাশপিড শেল বা সাবশেলের পিআইডি।
CDPATH PATH-এর মতো, কিন্তু যুক্তির সমাধান করতে ব্যবহৃত হয় cd অন্তর্নির্মিত কমান্ড। বিঃদ্রঃ
যে যদি CDPATH সেট করা থাকে এবং এতে 'না থাকে।' অথবা একটি খালি স্ট্রিং উপাদান,
বর্তমান ডিরেক্টরি অনুসন্ধান করা হয় না. এছাড়াও cd বিল্ট-ইন কমান্ড প্রদর্শিত হবে
ফলাফল নির্দেশিকা যখন একটি মিল খুঁজে পাওয়া যায় ছাড়া অন্য কোনো অনুসন্ধান পাথ
ফাঁকা পথ।
কলাম টার্মিনাল বা উইন্ডোতে কলামের সংখ্যায় সেট করুন। সর্বদা সেট, ডিফল্ট
80 পর্যন্ত, যদি না রিপোর্ট অনুযায়ী মান stty(1) অ-শূন্য এবং যথেষ্ট বুদ্ধিমান
(সর্বনিম্ন 12x3); লাইনের জন্য অনুরূপ। এই পরামিতি দ্বারা ব্যবহৃত হয়
ইন্টারেক্টিভ লাইন সম্পাদনা মোড, এবং দ্বারা নির্বাচন করা, সেট -o, এবং বধ -l কমান্ড
তথ্য কলাম বিন্যাস. পরিবেশ থেকে আমদানি করা বা আনসেটিং
এই পরামিতি প্রকৃত টার্মিনাল আকারের পক্ষে বাঁধাই অপসারণ করে
প্রদত্ত মান।
ENV যদি এই প্যারামিটারটি কোনো প্রোফাইল ফাইল নির্বাহ করার পরে সেট করা পাওয়া যায়, তাহলে
প্রসারিত মান একটি শেল স্টার্টআপ ফাইল হিসাবে ব্যবহৃত হয়। এটি সাধারণত ফাংশন ধারণ করে
এবং উপনাম সংজ্ঞা।
শেল এর ERRNO পূর্ণসংখ্যার মান ভুল পরিবর্তনশীল এটা শেষ কারণ নির্দেশ করে
সিস্টেম কল ব্যর্থ হয়েছে. এখনো বাস্তবায়ন হয়নি।
EXECSHELL সেট করা থাকলে, এই প্যারামিটারটি শেলটি ধারণ করে যা ব্যবহার করা হবে
যে কমান্ড চালান চালানো(2) কার্যকর করতে ব্যর্থ হয় এবং যা একটি দিয়ে শুরু হয় না
"#!খোল" ক্রম.
FCEDIT দ্বারা ব্যবহৃত সম্পাদক fc কমান্ড (নীচে দেখুন)।
FPATH PATH এর মতো, কিন্তু ফাইলটি সনাক্ত করার জন্য একটি অনির্ধারিত ফাংশন চালানো হলে ব্যবহার করা হয়
ফাংশন সংজ্ঞায়িত করা। এটিও অনুসন্ধান করা হয় যখন একটি কমান্ড ব্যবহার করে পাওয়া যায় না
পথ। দেখা কার্যাবলী আরো তথ্যের জন্য নীচে।
HISTFILE কমান্ড ইতিহাস সংরক্ষণ করতে ব্যবহৃত ফাইলের নাম। যখন অ্যাসাইন করা বা আনসেট করা হয়,
ফাইল খোলা হয়, ইতিহাস কেটে ফেলা হয় তারপর ফাইল থেকে লোড হয়; পরবর্তী
নতুন কমান্ডগুলি (সম্ভবত বেশ কয়েকটি লাইন সমন্বিত) একবার যুক্ত করা হয়
সফলভাবে সংকলিত। এছাড়াও, শেলের বেশ কয়েকটি আমন্ত্রণ ভাগ করবে
ইতিহাস যদি তাদের HISTFILE প্যারামিটারগুলি একই ফাইলের দিকে নির্দেশ করে।
বিঃদ্রঃ: HISTFILE সেট না থাকলে বা খালি থাকলে, কোনো ইতিহাস ফাইল ব্যবহার করা হয় না। এই
AT&T UNIX থেকে আলাদা ksh.
HISTSIZE ইতিহাসের জন্য সাধারণত সংরক্ষিত কমান্ডের সংখ্যা। ডিফল্ট হল 2047। করবেন
এই মানটিকে 1000000000 এর মতো অত্যন্ত উচ্চ মানগুলিতে সেট করবেন না কারণ৷ ধন্যবাদ পারেন
তারপর ইতিহাসের জন্য পর্যাপ্ত মেমরি বরাদ্দ না এবং শুরু হবে না।
হোম এর জন্য ডিফল্ট ডিরেক্টরি cd কমান্ড এবং একটি এর জন্য প্রতিস্থাপিত মান
অযোগ্য ~ (দেখুন টিল্ড সম্প্রসারণ নিচে).
IFS অভ্যন্তরীণ ক্ষেত্র বিভাজক, প্রতিস্থাপনের সময় এবং দ্বারা ব্যবহৃত পড়া আদেশ, প্রতি
স্বতন্ত্র আর্গুমেন্ট মধ্যে বিভক্ত মান; সাধারণত স্থান, ট্যাব এবং নিউলাইনে সেট করা হয়।
দেখ প্রতিকল্পন বিস্তারিত জানার জন্য উপরে।
বিঃদ্রঃ: এই পরামিতি পরিবেশ থেকে আমদানি করা হয় না যখন শেল হয়
শুরু করেন।
KSHEGID শেলের কার্যকরী গ্রুপ আইডি।
KSHGID শেলের আসল গ্রুপ আইডি।
KSHUID শেলের আসল ব্যবহারকারী আইডি।
KSH_VERSION শেলের নাম এবং সংস্করণ (শুধু পড়ার জন্য)। সংস্করণ কমান্ডগুলিও দেখুন
in এ গিয়ে emacs সম্পাদনা মোড এবং Vi সম্পাদনা মোড বিভাগ, নীচে।
LINENO ফাংশন বা শেল স্ক্রিপ্টের লাইন নম্বর যা বর্তমানে হচ্ছে
নিষ্পন্ন.
লাইন টার্মিনাল বা উইন্ডোতে লাইনের সংখ্যা সেট করুন। সর্বদা সেট, ডিফল্ট
24. কলাম দেখুন।
যুগান্তকারী সময়
যুগ থেকে সময়, যেমন দ্বারা ফিরে দিন পেতে সময়(2), দশমিক হিসাবে বিন্যাসিত
টিভি_সেকেন্ড একটি বিন্দু ('.') এবং অনুসরণ করে tv_usec ঠিক ছয় দশমিকে প্যাড করা হয়েছে
সংখ্যা
OLDPWD পূর্ববর্তী কাজের ডিরেক্টরি। যদি আনসেট করুন cd সফলভাবে পরিবর্তিত হয়নি
শেল শুরু হওয়ার পর থেকে ডিরেক্টরি, অথবা শেলটি কোথায় তা জানে না।
OPTARG ব্যবহার করার সময় getopts, এটি একটি পার্স করা বিকল্পের জন্য আর্গুমেন্ট ধারণ করে, যদি এটি হয়
একটি প্রয়োজন
OPTIND ব্যবহার করার সময় পরবর্তী আর্গুমেন্টের সূচী প্রক্রিয়া করা হবে getopts. বরাদ্দ করা 1
এই পরামিতি কারণ getopts শুরু থেকে আর্গুমেন্ট প্রক্রিয়া করতে
পরের বার এটি আহ্বান করা হয়।
PATH একটি কোলন (OS/2-এ সেমিকোলন) অনুসন্ধান করা ডিরেক্টরিগুলির পৃথক তালিকা
যখন '. কমান্ড (নীচে দেখুন)।
একটি খালি স্ট্রিং একটি অগ্রণী বা পিছনের কোলন, বা দুটি সংলগ্ন থেকে উদ্ভূত
কোলন, একটি '.' হিসাবে গণ্য করা হয়। (বর্তমান ডিরেক্টরি)।
PGRP শেলের প্রসেস গ্রুপ লিডারের প্রসেস আইডি।
PIPESTATUS এরর লেভেল (প্রস্থান অবস্থা) কোড সমন্বিত একটি অ্যারে, একের পর এক, শেষের
পাইপলাইন অগ্রভাগে সঞ্চালিত হয়।
PPID শেলের অভিভাবকের প্রসেস আইডি।
PS1 ইন্টারেক্টিভ শেলগুলির জন্য প্রাথমিক প্রম্পট। প্যারামিটার, কমান্ড এবং পাটিগণিত
প্রতিস্থাপন সঞ্চালিত হয়, এবং '!' বর্তমান কমান্ড দিয়ে প্রতিস্থাপিত হয়
সংখ্যা (দেখুন fc নীচের আদেশ)। একটি আক্ষরিক '!' দ্বারা প্রম্পটে রাখা যেতে পারে
স্থাপন '!!' PS1 এ।
ডিফল্ট প্রম্পট হল '$' নন-রুট ব্যবহারকারীদের জন্য, '#' রুটের জন্য। যদি ধন্যবাদ is
রুট দ্বারা আহ্বান করা হয় এবং PS1-এ '#' অক্ষর থাকে না, ডিফল্ট মান
পরিবেশে PS1 ইতিমধ্যে বিদ্যমান থাকলেও ব্যবহার করা হবে।
সার্জারির ধন্যবাদ বিতরণ একটি নমুনা সঙ্গে আসে dot.mkshrc একটি অত্যাধুনিক ধারণকারী
উদাহরণ, তবে আপনি নিম্নলিখিতটি পছন্দ করতে পারেন (মনে রাখবেন যে
${HOSTNAME:=$(হোস্টনাম)} এবং রুট-বনাম-ব্যবহারকারীর পার্থক্যকারী ধারা হল (এ
এই উদাহরণ) PS1 অ্যাসাইনমেন্টের সময়ে কার্যকর করা হয়, যখন $USER এবং $PWD হয়
escaped এবং এইভাবে প্রতিবার একটি প্রম্পট প্রদর্শিত হলে মূল্যায়ন করা হবে):
PS1='${USER:=$(id-un)}'"@${HOSTNAME:=$(হোস্টনাম)}:\$PWD $(
যদি (( USER_ID )); তারপর মুদ্রণ \$; অন্যথায় মুদ্রণ \#; fi) "
উল্লেখ্য যে যেহেতু কমান্ড-লাইন সম্পাদকরা প্রম্পট কতক্ষণ তা বের করার চেষ্টা করেন
আছে (তাই তারা জানে যে এটি পর্দার প্রান্ত থেকে কতদূর), এস্কেপ কোড
প্রম্পট জিনিষ আপ জগাখিচুড়ি ঝোঁক. আপনি শেলকে বলতে পারেন নির্দিষ্ট গণনা না করতে
একটি অক্ষরের সাথে আপনার প্রম্পটটি উপসর্গ করে সিকোয়েন্স (যেমন এস্কেপ কোড)
(যেমন Ctrl-A) এর পরে একটি ক্যারেজ রিটার্ন এবং তারপর এস্কেপ সীমাবদ্ধ করা
এই অক্ষর সহ কোড। প্রম্পট যে অক্ষর কোন ঘটনা আছে
মুদ্রিত না যাইহোক, এই হ্যাকের জন্য আমাকে দোষারোপ করবেন না; এটা থেকে উদ্ভূত
মূল ksh88(1), যা বিভাজনকারী অক্ষর মুদ্রণ করেছিল তাই আপনি এর বাইরে ছিলেন
ভাগ্য যদি আপনার কোন অমুদ্রিত অক্ষর না থাকে।
যেহেতু ব্যাকস্ল্যাশ এবং অন্যান্য বিশেষ অক্ষরগুলি শেল দ্বারা ব্যাখ্যা করা যেতে পারে,
PS1 সেট করতে হয় ব্যাকস্ল্যাশ নিজেই এড়িয়ে যান, অথবা ডবল কোট ব্যবহার করুন। দ্য
পরেরটি আরও ব্যবহারিক। এটি একটি আরও জটিল উদাহরণ, সরাসরি এড়ানো
বিশেষ অক্ষর লিখুন (উদাহরণস্বরূপ এর সাথে ^V emacs সম্পাদনা মোডে), যা
বিপরীত ভিডিওতে বর্তমান কাজের ডিরেক্টরি এম্বেড করে (রঙ কাজ করবে,
এছাড়াও), প্রম্পট স্ট্রিং-এ:
x=$(মুদ্রণ \\001)
PS1="$x$(প্রিন্ট \\r)$x$(tput so)$x\$PWD$x$(tput se)$x> "
ডেভিড জি কর্নের একটি শক্তিশালী পরামর্শের কারণে, ধন্যবাদ এখন সমর্থন করে
নিম্নলিখিত ফর্ম:
PS1=$'\1\r\1\e[7m\1$PWD\1\e[0m\1> '
PS2 সেকেন্ডারি প্রম্পট স্ট্রিং, ডিফল্টরূপে '>', যখন আরও ইনপুট প্রয়োজন হয় তখন ব্যবহৃত হয়
একটি কমান্ড সম্পূর্ণ করুন।
PS3 প্রম্পট দ্বারা ব্যবহৃত নির্বাচন করা একটি মেনু নির্বাচন পড়ার সময় বিবৃতি। ডিফল্ট
'# হয়? '
PS4 এক্সিকিউশন ট্রেসিং এর সময় প্রিফিক্স কমান্ডের জন্য ব্যবহৃত হয় (দেখুন সেট
-x নীচের আদেশ)। পরামিতি, কমান্ড, এবং পাটিগণিত প্রতিস্থাপন হয়
এটি মুদ্রিত হওয়ার আগে সঞ্চালিত হয়। ডিফল্ট হল '+'। আপনি এটি সেট করতে চাইতে পারেন
পরিবর্তে '[$EPOCHREALTIME]' এ, টাইমস্ট্যাম্প অন্তর্ভুক্ত করতে।
PWD বর্তমান কাজের ডিরেক্টরি। শেল না জানলে আনসেট বা NULL হতে পারে
এটা যেখানে।
র্যান্ডম প্রতিবার র্যান্ডম রেফারেন্স করা হলে, এটি 0 এবং 32767 এর মধ্যে একটি নম্বর বরাদ্দ করা হয়
প্রথমে একটি লিনিয়ার কনগ্রুয়েনশিয়াল PRNG থেকে।
রিপ্লাই ডিফল্ট প্যারামিটার এর জন্য পড়া কোন নাম দেওয়া না হলে আদেশ. এছাড়াও ব্যবহৃত
নির্বাচন করা স্ট্যান্ডার্ড ইনপুট থেকে পড়া মান সংরক্ষণ করতে loops।
SECONDS শেল শুরু হওয়ার পর থেকে সেকেন্ডের সংখ্যা বা, যদি প্যারামিটারটি হয়ে থাকে
একটি পূর্ণসংখ্যা মান বরাদ্দ করা হয়েছে, অ্যাসাইনমেন্ট থেকে সেকেন্ডের সংখ্যা প্লাস
যে মান বরাদ্দ করা হয়েছিল।
TMOUT যদি একটি ইন্টারেক্টিভ শেলে একটি ধনাত্মক পূর্ণসংখ্যাতে সেট করা হয়, এটি সর্বোচ্চ নির্দিষ্ট করে
প্রাথমিক প্রিন্ট করার পর শেলটি ইনপুটের জন্য কত সেকেন্ড অপেক্ষা করবে
প্রম্পট (PS1)। যদি সময় অতিক্রম করা হয়, শেল প্রস্থান করে।
TMPDIR ডিরেক্টরিতে অস্থায়ী শেল ফাইল তৈরি করা হয়। যদি এই প্যারামিটারটি না থাকে
সেট, বা একটি লিখনযোগ্য ডিরেক্টরির পরম পথ ধারণ করে না, অস্থায়ী
ফাইল তৈরি করা হয় / tmp -র পরিবর্তে.
USER_ID শেলটির কার্যকরী ব্যবহারকারী আইডি।
টিল্ড সম্প্রসারণ
Tilde সম্প্রসারণ যা প্যারামিটার প্রতিস্থাপনের সাথে সমান্তরালভাবে করা হয়, শব্দের উপর করা হয়
একটি উদ্ধৃতিহীন '~' দিয়ে শুরু। টিল্ড অনুসরণ করা অক্ষর, প্রথম '/' পর্যন্ত, যদি
যেকোনো, একটি লগইন নাম বলে ধরে নেওয়া হয়। লগইন নাম খালি থাকলে, '+', বা '-', এর মান
HOME, PWD, বা OLDPWD পরামিতি যথাক্রমে প্রতিস্থাপিত হয়। অন্যথায়, পাসওয়ার্ড
ফাইলটি লগইন নামের জন্য অনুসন্ধান করা হয় এবং টিল্ড এক্সপ্রেশনটি ব্যবহারকারীর সাথে প্রতিস্থাপিত হয়
হোম ডিরেক্টরি। পাসওয়ার্ড ফাইলে লগইন নাম না পাওয়া গেলে বা কোনো উদ্ধৃতি দিলে বা
প্যারামিটার প্রতিস্থাপন লগইন নামে ঘটে, কোন প্রতিস্থাপন করা হয় না।
প্যারামিটার অ্যাসাইনমেন্টে (যেমন যেগুলি একটি সাধারণ-কমান্ডের পূর্বে আছে বা যেগুলি
এর আর্গুমেন্ট উপনাম, রপ্তানি, বিশ্বব্যাপী, শুধুমাত্র পাঠযোগ্য, এবং টাইপসেট), টিল্ড সম্প্রসারণ পরে সম্পন্ন করা হয়
যেকোন অ্যাসাইনমেন্ট (অর্থাৎ সমান চিহ্নের পরে) বা একটি উদ্ধৃত কোলন (':') এর পরে; লগইন নাম
এছাড়াও কোলন দ্বারা সীমাবদ্ধ করা হয়.
পূর্বে প্রসারিত লগইন নামের হোম ডিরেক্টরি ক্যাশে করা হয় এবং পুনরায় ব্যবহার করা হয়। দ্য উপনাম -d
এই ক্যাশে তালিকাভুক্ত করতে, পরিবর্তন করতে এবং যোগ করতে কমান্ড ব্যবহার করা যেতে পারে (যেমন উপনাম -d
fac=/usr/স্থানীয়/সুবিধা; cd ~fac/bin).
যুগল সম্প্রসারণ (বিকল্প)
ব্রেস এক্সপ্রেশন নিম্নলিখিত ফর্ম নেয়:
উপসর্গ{str1,...,strN}প্রত্যয়
অভিব্যক্তি প্রসারিত করা হয় N শব্দ, যার প্রতিটির সংমিশ্রণ উপসর্গ, Stri,
এবং প্রত্যয় (যেমন “a{c,b{X,Y},d}e” চারটি শব্দে বিস্তৃত হয়: “ace”, “abXe”, “abYe”, এবং “ade”)।
যেমন উদাহরণে উল্লেখ করা হয়েছে, ব্রেস এক্সপ্রেশনগুলি নেস্ট করা যেতে পারে এবং ফলে শব্দগুলি নয়
সাজানো সম্প্রসারণের জন্য ব্রেস এক্সপ্রেশনে অবশ্যই একটি উদ্ধৃতিবিহীন কমা (',') থাকতে হবে (যেমন
{} এবং {foo} প্রসারিত হয় না)। পরামিতি প্রতিস্থাপনের পরে বন্ধনী সম্প্রসারণ করা হয়
এবং ফাইলের নাম তৈরির আগে।
ফাইল নাম নিদর্শন
একটি ফাইল নামের প্যাটার্ন হল একটি শব্দ যাতে এক বা একাধিক উদ্ধৃতিহীন '?', '*', '+', '@', বা '!'
অক্ষর বা "[..]" ক্রম। বন্ধনী সম্প্রসারণ করা হয়ে গেলে, শেলটি প্রতিস্থাপন করে
প্যাটার্নের সাথে মেলে এমন সমস্ত ফাইলের সাজানো নামের সাথে ফাইলের নাম প্যাটার্ন (যদি না
ফাইল মেলে, শব্দ অপরিবর্তিত রাখা হয়)। প্যাটার্ন উপাদানগুলির নিম্নলিখিত অর্থ রয়েছে:
? যে কোনো একক অক্ষর মেলে।
* অক্টেটের যেকোনো ক্রম মেলে।
[..] বন্ধনীর ভিতরের যেকোনো অক্টেটের সাথে মিলে যায়। অক্টেটের রেঞ্জগুলি দ্বারা নির্দিষ্ট করা যেতে পারে
একটি '-' দ্বারা দুটি অক্টেটকে আলাদা করা (যেমন “[a0-9]” অক্ষর 'a' বা যেকোনো অঙ্কের সাথে মেলে)।
নিজেকে উপস্থাপন করার জন্য, একটি '-' অবশ্যই উদ্ধৃত করতে হবে বা প্রথম বা শেষ অক্টেট
অক্টেট তালিকায়। একইভাবে, একটি ']' অবশ্যই উদ্ধৃত করতে হবে বা তালিকার প্রথম অক্টেট
যদি এটি তালিকার শেষের পরিবর্তে নিজেকে উপস্থাপন করতে হয়। আরো একটি '!' উপস্থিত
তালিকার শুরুতে বিশেষ অর্থ রয়েছে (নীচে দেখুন), তাই এটি নিজেকে উপস্থাপন করতে
উদ্ধৃত করতে হবে বা তালিকায় পরে উপস্থিত হতে হবে।
যেমন
*(প্যাটার্ন|...|প্যাটার্ন)
অক্টেটের যে কোনো স্ট্রিং মেলে যা নির্দিষ্ট করা শূন্য বা তার বেশি ঘটনার সাথে মেলে
নিদর্শন উদাহরণ: প্যাটার্ন *(foo|বার) স্ট্রিং মেলে "", "foo", "বার",
"foobarfoo", ইত্যাদি
+(প্যাটার্ন|...|প্যাটার্ন)
অক্টেটের যে কোনো স্ট্রিং মেলে যা নির্দিষ্ট করা এক বা একাধিক ঘটনার সাথে মেলে
নিদর্শন উদাহরণ: প্যাটার্ন +(foo|বার) স্ট্রিং "foo", "বার" এর সাথে মেলে,
"ফুবার", ইত্যাদি
?(প্যাটার্ন|...|প্যাটার্ন)
খালি স্ট্রিং বা নির্দিষ্ট প্যাটার্নগুলির একটির সাথে মেলে এমন একটি স্ট্রিংয়ের সাথে মেলে।
উদাহরণ: প্যাটার্ন ?(foo|বার) শুধুমাত্র “”, “foo”, এবং “bar” এর সাথে মেলে।
@(প্যাটার্ন|...|প্যাটার্ন)
একটি স্ট্রিং মেলে যা নির্দিষ্ট প্যাটার্নগুলির একটির সাথে মেলে৷ উদাহরণ: প্যাটার্ন
@(foo|বার) শুধুমাত্র স্ট্রিং "foo" এবং "বার" এর সাথে মেলে।
!(প্যাটার্ন|...|প্যাটার্ন)
নির্দিষ্ট নিদর্শনগুলির একটির সাথে মেলে না এমন কোনো স্ট্রিংকে মেলে৷ উদাহরণ: The
প্যাটার্ন !(foo|বার) "foo" এবং "bar" ছাড়া সব স্ট্রিং মেলে; নমুনা !(*)
কোনো স্ট্রিং মেলে না; নমুনা !(?)* সমস্ত স্ট্রিং মেলে (এটি সম্পর্কে চিন্তা করুন)।
মনে রাখবেন যে জটিল গ্লবিং, বিশেষ করে বিকল্পগুলির সাথে, ধীর; পৃথক ব্যবহার করে
তুলনা দ্রুত হতে পারে (বা নাও হতে পারে)।
মনে রাখবেন যে ধন্যবাদ (এবং উদাহরণ স্বরূপ) কখনো মেলে না।' এবং '..', কিন্তু AT&T UNIX ksh, বোর্ন sh, এবং GNU
সজোরে আঘাত না।
উল্লেখ্য যে উপরের প্যাটার্ন উপাদানগুলির কোনটিই একটি এর শুরুতে একটি পিরিয়ড ('.') এর সাথে মেলে
ফাইলের নাম বা একটি স্ল্যাশ ('/'), এমনকি যদি সেগুলি একটি [..] ক্রমানুসারে স্পষ্টভাবে ব্যবহৃত হয়; এছাড়াও
নাম '।' এবং '..' কখনো মেলে না, এমনকি '.*' প্যাটার্ন দ্বারাও।
যদি markdirs বিকল্প সেট করা হয়, ফাইলের নাম জেনারেশনের ফলে যেকোন ডিরেক্টরি হয়
ট্রেলিং '/' দিয়ে চিহ্নিত।
ইনপুট আউটপুট ফেরৎ
যখন একটি কমান্ড কার্যকর করা হয়, তখন তার স্ট্যান্ডার্ড ইনপুট, স্ট্যান্ডার্ড আউটপুট এবং স্ট্যান্ডার্ড ত্রুটি (ফাইল
বর্ণনাকারী 0, 1, এবং 2, যথাক্রমে) সাধারণত শেল থেকে উত্তরাধিকারসূত্রে প্রাপ্ত হয়। তিন
এর ব্যতিক্রম হল পাইপলাইনে কমান্ড, যার জন্য স্ট্যান্ডার্ড ইনপুট এবং/অথবা স্ট্যান্ডার্ড
আউটপুট হল পাইপলাইন দ্বারা সেট আপ করা, অ্যাসিঙ্ক্রোনাস কমান্ড তৈরি করা হয় যখন কাজ নিয়ন্ত্রণ করা হয়
অক্ষম, যার জন্য মানক ইনপুট প্রাথমিকভাবে সেট করা হয়েছে আপনার / dev / নাল, এবং এর জন্য কমান্ড
যা নিম্নলিখিত পুনর্নির্দেশগুলির মধ্যে কোনটি নির্দিষ্ট করা হয়েছে:
>ফাইল স্ট্যান্ডার্ড আউটপুট পুনঃনির্দেশিত হয় ফাইল। যদি ফাইল অস্তিত্ব নেই, এটি তৈরি করা হয়েছে;
যদি এটি বিদ্যমান থাকে তবে এটি একটি নিয়মিত ফাইল এবং noclobber বিকল্প সেট করা হয়েছে, একটি ত্রুটি
ঘটে; অন্যথায়, ফাইলটি কাটা হয়। উল্লেখ্য, এর মানে কমান্ড cmd কমান্ড
<foo >ফু খুলবে foo বিন্যাস পড়ার জন্য এবং তারপর যখন এটি এটির জন্য খোলে তখন এটি কেটে ফেলুন
লেখা, আগে cmd কমান্ড আসলে পড়ার সুযোগ পায় foo বিন্যাস.
>|ফাইল একই রকম >, ফাইলটি ছাঁটা ছাড়া, এমনকি যদি noclobber বিকল্প সেট করা হয়।
>>ফাইল একই রকম >, যদি ছাড়া ফাইল বিদ্যমান আছে এটি কেটে ফেলার পরিবর্তে যুক্ত করা হয়েছে।
এছাড়াও, ফাইলটি অ্যাপেন্ড মোডে খোলা হয়, তাই সব সময় লেখার শেষে যায়
ফাইল (দেখুন খোলা(2))।
<ফাইল স্ট্যান্ডার্ড ইনপুট থেকে পুনঃনির্দেশিত হয় ফাইল, যা পড়ার জন্য খোলা হয়।
<>ফাইল একই রকম <, ফাইল ছাড়া পড়া এবং লেখার জন্য খোলা হয়.
<<মার্কার এই ধরনের পুনঃনির্দেশ সমন্বিত কমান্ড লাইন পড়ার পরে (যাকে বলা হয় a
“এখানে ডকুমেন্ট”), শেল কমান্ড সোর্স থেকে লাইনগুলো কপি করে
একটি লাইন মিল না হওয়া পর্যন্ত অস্থায়ী ফাইল মার্কার পড়া হয় যখন হুকুম হয়
সম্পাদিত, স্ট্যান্ডার্ড ইনপুট অস্থায়ী ফাইল থেকে পুনঃনির্দেশিত হয়। যদি মার্কার
কোনো উদ্ধৃত অক্ষর নেই, অস্থায়ী ফাইলের বিষয়বস্তু প্রক্রিয়া করা হয়
যেন প্রতিবার কমান্ডটি কার্যকর করার সময় ডবল উদ্ধৃতিতে আবদ্ধ থাকে, তাই পরামিতি,
ব্যাকস্ল্যাশ ('\') সহ কমান্ড, এবং গাণিতিক প্রতিস্থাপন সঞ্চালিত হয়
'$', '`', '\', এবং '\newline'-এর জন্য এস্কেপ করে, কিন্তু '"'-এর জন্য নয়। এখানে একাধিক হলে
নথিগুলি একই কমান্ড লাইনে ব্যবহার করা হয়, সেগুলি ক্রমে সংরক্ষিত হয়।
কোন যদি মার্কার দেওয়া হয়, এখানে নথিটি পরেরটিতে শেষ হয় << এবং প্রতিস্থাপন
সম্পাদন করা হবে. যদি মার্কার শুধুমাত্র একক '''''' বা ডাবল '''''' এর একটি সেট
উদ্ধৃতিগুলির মধ্যে কিছুই নেই, এখানে নথিটি পরবর্তী খালি লাইনে শেষ হয়
এবং প্রতিস্থাপন সঞ্চালিত হবে না.
<<-মার্কার একই রকম <<, লিডিং ট্যাবগুলি ছাড়া এখানে নথিতে লাইন থেকে ছিনতাই করা হয়েছে।
<<শব্দ একই রকম <<, সেটি বাদে শব্দ is এখানে নথি। এটি একটি এখানে বলা হয়
স্ট্রিং।
<&fd স্ট্যান্ডার্ড ইনপুট ফাইল বর্ণনাকারী থেকে ডুপ্লিকেট করা হয় fd. fd একটি সংখ্যা হতে পারে,
একটি বিদ্যমান ফাইল বর্ণনাকারীর সংখ্যা নির্দেশ করে; অক্ষর 'p', নির্দেশ করে
বর্তমান সহ-প্রক্রিয়ার আউটপুটের সাথে যুক্ত ফাইল বর্ণনাকারী; অথবা
অক্ষর '-', নির্দেশ করে স্ট্যান্ডার্ড ইনপুট বন্ধ করতে হবে। মনে রাখবেন যে fd is
বেশিরভাগ শেল বাস্তবায়নে একটি একক সংখ্যার মধ্যে সীমাবদ্ধ।
>&fd একই রকম <&, ব্যতীত অপারেশনটি স্ট্যান্ডার্ড আউটপুটে করা হয়।
&>ফাইল একই রকম >ফাইল 2> & 1. এটি একটি অবচিত (উত্তরাধিকার) GNU সজোরে আঘাত এক্সটেনশন সমর্থিত
by ধন্যবাদ যা পূর্ববর্তী স্পষ্ট fd নম্বরকেও সমর্থন করে, উদাহরণস্বরূপ,
3&>ফাইল হিসাবে একই 3>ফাইল 2> & 3 in ধন্যবাদ কিন্তু GNU-তে একটি সিনট্যাক্স ত্রুটি সজোরে আঘাত.
&>|ফাইল, &>>ফাইল, &>&fd
একই রকম >|ফাইল, >>ফাইল, বা >&fd, দ্বারা অনুসরণ 2> & 1, যেমন উপরে. এইগুলো ধন্যবাদ
এক্সটেনশান নেই।
উপরের যেকোনও রিডাইরেক্টে, ফাইল ডিস্ক্রিপ্টর যেটি রিডাইরেক্ট করা হয় (যেমন স্ট্যান্ডার্ড
ইনপুট বা স্ট্যান্ডার্ড আউটপুট) একটি সংখ্যার সাথে পুনঃনির্দেশের পূর্বে স্পষ্টভাবে দেওয়া যেতে পারে
(পোর্টেবলভাবে, শুধুমাত্র একটি একক সংখ্যা)। প্যারামিটার, কমান্ড, এবং গাণিতিক প্রতিস্থাপন, টিল্ড
প্রতিস্থাপন, এবং (যদি শেল ইন্টারেক্টিভ হয়) ফাইলের নাম তৈরি করা হয়
দ্য ফাইল, মার্কার, এবং fd পুনর্নির্দেশের আর্গুমেন্ট। উল্লেখ্য, তবে যে কোনো ফলাফল
ফাইলের নাম জেনারেশন শুধুমাত্র ব্যবহার করা হয় যদি একটি একক ফাইল মিলে যায়; একাধিক ফাইল মিলে গেলে,
প্রসারিত ফাইলের নাম জেনারেশন অক্ষর সহ শব্দ ব্যবহার করা হয়। উল্লেখ্য যে সীমাবদ্ধ মধ্যে
শেল, পুনঃনির্দেশ যা ফাইল তৈরি করতে পারে ব্যবহার করা যাবে না।
সাধারণ-কমান্ডের জন্য, কমান্ডের যেকোনো জায়গায় পুনঃনির্দেশ দেখা যেতে পারে; যৌগ-কমান্ডের জন্য
(if বিবৃতি, ইত্যাদি), যেকোনো পুনঃনির্দেশ অবশ্যই শেষে উপস্থিত হবে। পুনর্নির্দেশ প্রক্রিয়া করা হয়
পাইপলাইন তৈরি হওয়ার পরে এবং সেগুলি যে ক্রমে দেওয়া হয়, তাই নিম্নলিখিতটি একটি প্রিন্ট করবে
এটির সাথে একটি লাইন নম্বর দিয়ে ত্রুটি:
$ cat /foo/bar 2>&1 >/dev/null | pr -n -t
I/O পুনঃনির্দেশ দ্বারা তৈরি ফাইল বর্ণনাকারী শেল ব্যক্তিগত।
পাটীগণিত এক্সপ্রেশন
পূর্ণসংখ্যার গাণিতিক রাশির সাথে ব্যবহার করা যেতে পারে দিন কমান্ড, $((..)) এক্সপ্রেশনের ভিতরে,
ভিতরের অ্যারে রেফারেন্স (যেমন নাম[এক্সপ্রেস]), সংখ্যাসূচক আর্গুমেন্ট হিসাবে পরীক্ষা আদেশ, এবং হিসাবে
একটি পূর্ণসংখ্যা প্যারামিটারে একটি অ্যাসাইনমেন্টের মান। সতর্কতা: এটি অন্তর্নিহিতও প্রভাবিত করে
পূর্ণসংখ্যায় রূপান্তর, যেমন দ্বারা করা হয়েছে দিন কমান্ড। না অচেক ব্যবহারকারী ব্যবহার করুন
ইনপুট, যেমন পরিবেশ থেকে, পাটিগণিত!
অভিব্যক্তিগুলি স্বাক্ষরিত পাটিগণিত ব্যবহার করে গণনা করা হয় এবং mksh_ari_t টাইপ (একটি 32-বিট স্বাক্ষরিত
integer), যদি না তারা একটি একমাত্র '#' অক্ষর দিয়ে শুরু করে, যে ক্ষেত্রে তারা ব্যবহার করে mksh_uari_t (a
32-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যা)।
এক্সপ্রেশনে আলফা-সাংখ্যিক প্যারামিটার শনাক্তকারী, অ্যারে রেফারেন্স এবং পূর্ণসংখ্যা থাকতে পারে
ধ্রুবক এবং নিম্নলিখিত C অপারেটরগুলির সাথে একত্রিত হতে পারে (তালিকাভুক্ত এবং গোষ্ঠীভুক্ত
ক্রমবর্ধমান অগ্রাধিকার):
ইউনারি অপারেটর:
+-! ~ ++ --
বাইনারি অপারেটর:
,
= += -= *= /= %= <<<= >>>= <<= >>= &= ^= |=
||
&&
|
^
&
==! =
<<=>> =
<<< >>> << >>
+ -
* /%
টার্নারি অপারেটর:
?: (অনুষ্ঠানের চেয়ে অগ্রাধিকার অবিলম্বে বেশি)
গ্রুপিং অপারেটর:
()
পূর্ণসংখ্যার ধ্রুবক এবং অভিব্যক্তি একটি ঠিক 32-বিট প্রশস্ত, স্বাক্ষরিত বা ব্যবহার করে গণনা করা হয়
স্বাক্ষরবিহীন, পূর্ণসংখ্যা ওভারফ্লোতে নীরব মোড়ক দিয়ে টাইপ করুন। পূর্ণসংখ্যার ধ্রুবক হতে পারে
স্বরলিপি ব্যবহার করে নির্বিচারে ঘাঁটি দিয়ে নির্দিষ্ট করা হয়েছে ভিত্তি#সংখ্যা, কোথায় ভিত্তি একটি দশমিক
পূর্ণসংখ্যা বেস নির্দিষ্ট করে, এবং সংখ্যা নির্দিষ্ট বেসের একটি সংখ্যা। উপরন্তু,
বেস-16 পূর্ণসংখ্যাগুলিকে '0x' (কেস-সংবেদনশীল) দিয়ে উপসর্গ দিয়ে নির্দিষ্ট করা যেতে পারে
গাণিতিক অভিব্যক্তির ফর্ম, সংখ্যাসূচক আর্গুমেন্ট ছাড়া পরীক্ষা অন্তর্নির্মিত কমান্ড।
একমাত্র অঙ্কের শূন্য ('0') সহ সংখ্যাগুলির উপসর্গ অক্টাল হিসাবে ব্যাখ্যার কারণ হয় না, যেমন
এটা করা অনিরাপদ।
বিশেষ হিসেবে ধন্যবাদ এক্সটেনশন, একটির ভিত্তির সংখ্যাগুলিকে উভয় হিসাবে বিবেচনা করা হয় (8-বিট
স্বচ্ছ) ASCII বা ইউনিকোড কোডপয়েন্ট, শেলের উপর নির্ভর করে utf8-মোড পতাকা (বর্তমান
বিন্যাস). AT&T UNIX ksh93 "1#x" এর পরিবর্তে "'x'" এর সিনট্যাক্সও সমর্থিত। বিঃদ্রঃ
যে NUL বাইট (শূন্যের অবিচ্ছেদ্য মান) ব্যবহার করা যাবে না। একটি আনসেট বা খালি প্যারামিটার৷
পূর্ণসংখ্যা প্রসঙ্গে 0 তে মূল্যায়ন করে। ইউনিকোড মোডে, কাঁচা অক্টেটগুলি পরিসরে ম্যাপ করা হয়
EF80..EFFF যেমন OPTU-8, যা PUA-তে রয়েছে এবং এই ব্যবহারের জন্য CSUR দ্বারা নির্ধারিত হয়েছে। যদি
ASCII মোডে একাধিক অক্টেট, বা একাধিক অক্টেটের একটি ক্রম একটি বৈধ নয়
এবং ন্যূনতম CESU-8 ক্রম পাস করা হয়, আচরণটি অনির্ধারিত (সাধারণত, শেলটি বাতিল হয়ে যায়
পার্স ত্রুটি সহ, কিন্তু খুব কমই, এটি সফল হয়, যেমন সিকোয়েন্স C2 20)। সেজন্য তুমি
সর্বদা ASCII মোড ব্যবহার করা উচিত যদি না আপনি জানেন যে ইনপুটটি UTF-8 ভালভাবে গঠিত
0000..FFFD এর পরিসর যদি আপনি এই বৈশিষ্ট্যটি ব্যবহার করেন, এর বিপরীতে পড়া -a.
অপারেটরদের নিম্নরূপ মূল্যায়ন করা হয়:
unary +
ফলাফল হল যুক্তি (সম্পূর্ণতার জন্য অন্তর্ভুক্ত)।
unary -
নেগেটিভ।
! যৌক্তিক নয়; যুক্তি শূন্য হলে ফলাফল 1, না হলে 0।
~ পাটিগণিত (বিট-ভিত্তিক) নয়।
++ বৃদ্ধি; একটি প্যারামিটারে প্রয়োগ করা আবশ্যক (কোন আক্ষরিক বা অন্য অভিব্যক্তি নয়)।
পরামিতি 1 দ্বারা বৃদ্ধি করা হয়। একটি উপসর্গ অপারেটর হিসাবে ব্যবহার করা হলে, ফলাফল
প্যারামিটারের বর্ধিত মান; যখন পোস্টফিক্স অপারেটর হিসাবে ব্যবহার করা হয়,
ফলাফলটি পরামিতির মূল মান।
-- অনুরূপ, একই, সমতুল্য ++, প্যারামিটার ছাড়া 1 দ্বারা হ্রাস করা হয়েছে।
, দুটি গাণিতিক অভিব্যক্তি পৃথক করে; বাম দিকের দিকটি প্রথমে মূল্যায়ন করা হয়,
তারপর ডান. ফলাফল হল ডান হাতের অভিব্যক্তির মান
পাশ।
= অ্যাসাইনমেন্ট; বাম দিকের ভেরিয়েবলটি ডানদিকের মানের সাথে সেট করা আছে।
+= -= *= /= %= <<<= >>>= <<= >>= &= ^= |=
অ্যাসাইনমেন্ট অপারেটরVar><op>=এক্সপ্রেস> হিসাবে একইVar>=Var><op><এক্সপ্রেস>,
কোন অপারেটর অগ্রাধিকার সঙ্গেএক্সপ্রেস> সংরক্ষিত। উদাহরণস্বরূপ, “var1 *= 5 +
3" "var1 = var1 * (5 + 3)" উল্লেখ করার মতই।
|| যৌক্তিক বা; ফলাফল 1 যদি উভয় যুক্তি অ-শূন্য হয়, 0 যদি না হয়। দ্য
ডান আর্গুমেন্ট মূল্যায়ন করা হয় শুধুমাত্র যদি বাম আর্গুমেন্ট শূন্য হয়।
&& যৌক্তিক এবং; উভয় আর্গুমেন্ট অ-শূন্য হলে ফলাফল 1, না হলে 0। দ্য
ডান আর্গুমেন্ট মূল্যায়ন করা হয় শুধুমাত্র যদি বাম আর্গুমেন্ট অ-শূন্য হয়।
| পাটিগণিত (বিট-ভিত্তিক) OR.
^ পাটিগণিত (বিট-ভিত্তিক) XOR (একচেটিয়া-OR)।
এবং পাটিগণিত (বিট-ভিত্তিক) AND.
== সমান; উভয় আর্গুমেন্ট সমান হলে ফলাফল 1, না হলে 0।
!= সমান নয়; উভয় আর্গুমেন্ট সমান হলে ফলাফল 0, না হলে 1।
< এর চেয়ে কম; বাম আর্গুমেন্ট ডান থেকে কম হলে ফলাফল 1, যদি 0 হয়
না.
<=>>=
কম বা সমান, এর চেয়ে বড়, এর চেয়ে বড় বা সমান। দেখা <.
<<< >>>
বাম ঘোরান (ডান); ফলাফল শিফটের অনুরূপ (দেখুন <<) যে ছাড়া
এক প্রান্তে স্থানান্তরিত বিটগুলি শূন্যের পরিবর্তে অন্য প্রান্তে স্থানান্তরিত হয়
বা সাইন বিট।
<< >> বাম দিকে সরান (ডানে); ফলাফল হল বাম আর্গুমেন্ট যার বিট বাম দিকে সরানো হয়েছে
(ডান) সঠিক যুক্তিতে দেওয়া পরিমাণ দ্বারা।
+ - * /
যোগ, বিয়োগ, গুণ এবং ভাগ।
% অবশিষ্ট; ফলাফল হল বাম বিভাজনের প্রতিসম অবশিষ্টাংশ
অধিকার দ্বারা যুক্তি. “a” এর গাণিতিক মডুলাস পেতে বিরুদ্ধে b”, ব্যবহার করুন
সূত্র "(a % b + b) % b"।
<arg1>?arg2>:arg3>
যদিarg1> অ-শূন্য, ফলাফল হয়arg2> অন্যথায় ফলাফল হয়arg3>.
ফলাফলহীন যুক্তি মূল্যায়ন করা হয় না.
সহ-প্রক্রিয়া
একটি সহ-প্রক্রিয়া (যা '|&' অপারেটরের সাথে তৈরি একটি পাইপলাইন) একটি অ্যাসিঙ্ক্রোনাস প্রক্রিয়া
যে শেল উভয়ই লিখতে পারে (ব্যবহার করে ছাপানো -p) এবং থেকে পড়ুন (ব্যবহার করে পড়া -p) ইনপুট
এবং সহ-প্রক্রিয়ার আউটপুটও ব্যবহার করে ম্যানিপুলেট করা যেতে পারে >&p এবং <&p পুনর্নির্দেশ,
যথাক্রমে একবার একটি সহ-প্রক্রিয়া শুরু হয়ে গেলে, অন্যটি শুরু করা যাবে না যতক্ষণ না সহ-
প্রক্রিয়া প্রস্থান করা হয়, অথবা যতক্ষণ না সহ-প্রক্রিয়ার ইনপুট একটি ব্যবহার করে পুনঃনির্দেশিত হয় Exec n>&p
পুনর্নির্দেশ যদি একটি সহ-প্রক্রিয়ার ইনপুট এইভাবে পুনঃনির্দেশিত হয়, তাহলে পরবর্তী সহ-প্রক্রিয়া হতে হবে
start প্রথম সহ-প্রক্রিয়ার সাথে আউটপুট ভাগ করবে, যদি না প্রাথমিকের আউটপুট
সহ-প্রক্রিয়া একটি ব্যবহার করে পুনর্নির্দেশ করা হয়েছে Exec n<&p পুনর্নির্দেশ
সহ-প্রক্রিয়া সম্পর্কিত কিছু নোট:
· সহ-প্রক্রিয়ার ইনপুট বন্ধ করার একমাত্র উপায় (তাই সহ-প্রক্রিয়াটি একটি শেষ-অফ-ফাইল পড়ে)
একটি সংখ্যাযুক্ত ফাইল বর্ণনাকারীতে ইনপুটটি পুনঃনির্দেশ করতে এবং তারপর সেই ফাইল বর্ণনাকারীকে বন্ধ করতে:
Exec 3>&p; Exec 3>&-
· একটি সাধারণ আউটপুট ভাগ করার জন্য সহ-প্রক্রিয়াগুলির জন্য, শেলকে অবশ্যই লিখতে হবে
আউটপুট পাইপের অংশ খোলা। এর মানে হল যে শেষ পর্যন্ত ফাইল সনাক্ত করা হবে না
সহ-প্রক্রিয়ার আউটপুট ভাগ করে নেওয়া সমস্ত সহ-প্রক্রিয়াগুলি প্রস্থান করেছে (যখন তারা সমস্ত প্রস্থান করে,
শেল তার পাইপের অনুলিপি বন্ধ করে)। আউটপুটকে a এ পুনঃনির্দেশিত করে এটি এড়ানো যেতে পারে
সংখ্যাযুক্ত ফাইল বর্ণনাকারী (যেহেতু এটি শেলটির অনুলিপি বন্ধ করে দেয়)। মনে রাখবেন যে
এই আচরণটি মূল কর্ন শেল থেকে কিছুটা আলাদা যা এর অনুলিপি বন্ধ করে দেয়
সহ-প্রক্রিয়া আউটপুটের লেখা অংশের যখন অতি সম্প্রতি সহ-প্রক্রিয়া শুরু হয়
(সব শেয়ারিং সহ-প্রক্রিয়ার পরিবর্তে) প্রস্থান করে।
· ছাপানো -p লেখার সময় SIGPIPE সংকেত উপেক্ষা করবে যদি সংকেত আটকে না থাকে বা
উপেক্ষা করা; একই সত্য যদি সহ-প্রক্রিয়া ইনপুট অন্য ফাইলে সদৃশ করা হয়
বর্ণনাকারী এবং ছাপানো -un ব্যবহৃত হয়.
কার্যাবলী
কোন একটি কর্ন শেল ব্যবহার করে ফাংশন সংজ্ঞায়িত করা হয় ক্রিয়া ফাংশন-নাম সিনট্যাক্স বা
বোর্ন/পোসিক্স শেল ফাংশন-নাম() সিনট্যাক্স (দুটির মধ্যে পার্থক্যের জন্য নীচে দেখুন
ফর্ম)। ফাংশনগুলি হল .-স্ক্রিপ্ট (অর্থাৎ '.' বিল্ট-ইন ব্যবহার করে উৎসারিত স্ক্রিপ্ট)
তারা বর্তমান পরিবেশে মৃত্যুদন্ড কার্যকর করা হয়. যাইহোক, .-স্ক্রিপ্টের বিপরীতে, শেল আর্গুমেন্ট
(অর্থাৎ অবস্থানগত পরামিতি $1, $2, ইত্যাদি) তাদের ভিতরে কখনই দৃশ্যমান হয় না। যখন শেল হয়
একটি কমান্ডের অবস্থান নির্ধারণ করে, বিশেষ বিল্ট-ইন করার পরে ফাংশনগুলি অনুসন্ধান করা হয়
কমান্ড, বিল্টিনের আগে এবং PATH অনুসন্ধান করা হয়।
একটি বিদ্যমান ফাংশন ব্যবহার করে মুছে ফেলা হতে পারে আনসেট করা -f ফাংশন-নাম. ফাংশন একটি তালিকা করতে পারেন
ব্যবহার করে প্রাপ্ত করা হবে টাইপসেট +f এবং ফাংশন সংজ্ঞা ব্যবহার করে তালিকাভুক্ত করা যেতে পারে টাইপসেট -f.
সার্জারির অটোলোড কমান্ড (যার জন্য একটি উপনাম টাইপসেট -ফু) অনির্ধারিত তৈরি করতে ব্যবহার করা যেতে পারে
ফাংশন: যখন একটি অনির্ধারিত ফাংশন কার্যকর করা হয়, শেল নির্দিষ্ট পথ অনুসন্ধান করে
একটি ফাইলের জন্য FPATH প্যারামিটার ফাংশনের মতো একই নামের সাথে, যা পাওয়া গেলে, পড়া হয়
এবং মৃত্যুদন্ড কার্যকর করা হয়েছে। যদি ফাইলটি চালানোর পরে নামযুক্ত ফাংশনটি সংজ্ঞায়িত পাওয়া যায়,
ফাংশন সঞ্চালিত হয়; অন্যথায়, সাধারণ কমান্ড অনুসন্ধান অব্যাহত থাকে (অর্থাৎ শেল
নিয়মিত বিল্ট-ইন কমান্ড টেবিল এবং PATH অনুসন্ধান করে)। উল্লেখ্য যে যদি একটি কমান্ড পাওয়া না যায়
PATH ব্যবহার করে, FPATH ব্যবহার করে একটি ফাংশন স্বয়ংক্রিয়ভাবে লোড করার চেষ্টা করা হয় (এটি একটি অনথিভুক্ত
মূল কর্ন শেলের বৈশিষ্ট্য)।
ফাংশন দুটি বৈশিষ্ট্য থাকতে পারে, "ট্রেস" এবং "রপ্তানি", যার সাথে সেট করা যেতে পারে টাইপসেট -ফুট
এবং টাইপসেট -fx, যথাক্রমে। একটি ট্রেসড ফাংশন নির্বাহ করা হলে, শেল এর xtrace
বিকল্পটি ফাংশনের সময়কালের জন্য চালু আছে। ফাংশনের "রপ্তানি" বৈশিষ্ট্য হল
বর্তমানে ব্যবহার করা হয় না। মূল কর্ন শেল-এ, রপ্তানিকৃত ফাংশন শেলের কাছে দৃশ্যমান
স্ক্রিপ্ট যে মৃত্যুদন্ড কার্যকর করা হয়.
যেহেতু বর্তমান শেল এনভায়রনমেন্টে ফাংশন এক্সিকিউট করা হয়, তাই প্যারামিটার অ্যাসাইনমেন্ট করা হয়
ফাংশন সম্পূর্ণ হওয়ার পরে ভিতরের ফাংশনগুলি দৃশ্যমান হয়। যদি এই কাঙ্ক্ষিত না হয়
প্রভাব, টাইপসেট একটি স্থানীয় প্যারামিটার তৈরি করতে একটি ফাংশনের ভিতরে কমান্ড ব্যবহার করা যেতে পারে। বিঃদ্রঃ
যে AT&T UNIX ksh93 স্ট্যাটিক স্কোপিং ব্যবহার করে (একটি বিশ্বব্যাপী সুযোগ, প্রতি ফাংশনের একটি স্থানীয় সুযোগ)
এবং শুধুমাত্র কর্ন শৈলী ফাংশনে স্থানীয় ভেরিয়েবলের অনুমতি দেয়, যদিও ধন্যবাদ গতিশীল স্কোপিং ব্যবহার করে
(বিভিন্ন এলাকার নেস্টেড স্কোপ)। উল্লেখ্য যে বিশেষ পরামিতি (যেমন $$, $!) হতে পারে না
এই ভাবে scoped.
ফাংশনের এক্সিট স্ট্যাটাস হল ফাংশনে এক্সিকিউট করা শেষ কমান্ডের। ক
ফাংশন ব্যবহার করে অবিলম্বে শেষ করা যেতে পারে প্রত্যাবর্তন আদেশ এটিও ব্যবহার করা যেতে পারে
স্পষ্টভাবে প্রস্থান অবস্থা নির্দিষ্ট করতে.
এর সাথে সংজ্ঞায়িত ফাংশন ক্রিয়া সংরক্ষিত শব্দ নিম্নলিখিত ভিন্নভাবে চিকিত্সা করা হয়
ফাংশন থেকে উপায় সঙ্গে সংজ্ঞায়িত () স্বরলিপি
· $0 প্যারামিটার ফাংশনের নামে সেট করা আছে (বোর্ন-স্টাইল ফাংশন $0 ছেড়ে যায়
অস্পৃশ্য)।
· ফাংশন কলের পূর্ববর্তী প্যারামিটার অ্যাসাইনমেন্ট শেল পরিবেশে রাখা হয় না
(বোর্ন-শৈলী ফাংশন নির্বাহ করা অ্যাসাইনমেন্ট বজায় রাখবে)।
· OPTIND সংরক্ষিত/রিসেট করা হয় এবং ফাংশন থেকে প্রবেশ এবং প্রস্থান করার সময় পুনরুদ্ধার করা হয় getopts হতে পারে
ফাংশনের ভিতরে এবং বাইরে উভয়ই সঠিকভাবে ব্যবহার করা হয়েছে (বোর্ন-স্টাইল ফাংশন অপটিন্ড ত্যাগ করে
untouched, তাই ব্যবহার getopts একটি ফাংশনের ভিতরে ব্যবহারে হস্তক্ষেপ করে getopts বাহিরে
ফাংশন)।
· শেল বিকল্প (সেট -o) এর স্থানীয় সুযোগ রয়েছে, যেমন একটি ফাংশনের ভিতরে পরিবর্তনগুলি পুনরায় সেট করা হয়
এর প্রস্থান।
ভবিষ্যতে, নিম্নলিখিত পার্থক্যগুলিও যোগ করা যেতে পারে:
· ফাংশন সম্পাদনের সময় একটি পৃথক ফাঁদ/সংকেত পরিবেশ ব্যবহার করা হবে। এই
একটি ফাংশনের ভিতরে সেট করা ফাঁদ শেলের ফাঁদ এবং সংকেতকে প্রভাবিত করবে না
যেগুলি শেলের মধ্যে উপেক্ষা করা হয় না (কিন্তু আটকে যেতে পারে) তাদের ডিফল্ট প্রভাব থাকবে
একটি অনুষ্ঠান.
· EXIT ট্র্যাপ, যদি একটি ফাংশনে সেট করা থাকে, ফাংশনটি ফিরে আসার পরে কার্যকর করা হবে।
আদেশ ফাঁসি
কমান্ড-লাইন আর্গুমেন্ট, পুনঃনির্দেশ, এবং প্যারামিটার অ্যাসাইনমেন্টের মূল্যায়নের পরে,
কমান্ডের ধরন নির্ধারণ করা হয়: একটি বিশেষ অন্তর্নির্মিত কমান্ড, একটি ফাংশন, একটি সাধারণ বিল্টইন বা
PATH প্যারামিটার ব্যবহার করে এক্সিকিউট করার জন্য ফাইলের নাম। চেক করা হয়
উপরে আদেশ. বিশেষ অন্তর্নির্মিত কমান্ড PATH-এ অন্যান্য কমান্ডের থেকে আলাদা
তাদের খুঁজে বের করার জন্য প্যারামিটার ব্যবহার করা হয় না, তাদের কার্যকর করার সময় একটি ত্রুটি একটি অ-
প্রস্থান করার জন্য ইন্টারেক্টিভ শেল, এবং কমান্ডের আগে নির্দিষ্ট করা প্যারামিটার অ্যাসাইনমেন্ট
কমান্ড সম্পূর্ণ হওয়ার পরে রাখা হয়। নিয়মিত বিল্ট-ইন কমান্ডগুলি শুধুমাত্র এতেই আলাদা
তাদের খুঁজে পেতে PATH প্যারামিটার ব্যবহার করা হয় না।
মূল ksh এবং POSIX কিছুটা আলাদা যেখানে কমান্ডগুলিকে বিশেষ হিসাবে বিবেচনা করা হয় বা
নিয়মিত।
POSIX বিশেষ অন্তর্নির্মিত ইউটিলিটিগুলি:
., :, বিরতি, অবিরত, স্পষ্ট, Exec, প্রস্থান, রপ্তানি, শুধুমাত্র পাঠযোগ্য, প্রত্যাবর্তন, সেট, পরিবর্তন, বার, ফাঁদ,
আনসেট করা
অতিরিক্ত ধন্যবাদ আদেশ পালন অ্যাসাইনমেন্ট:
builtin, বিশ্বব্যাপী, উৎস, টাইপসেট, অপেক্ষা করুন
বিল্টিন যা বিশেষ নয়:
[, উপনাম, bg, বাঁধাই করা, বিড়াল, cd, হুকুম, প্রতিধ্বনি, মিথ্যা, fc, fg, getopts, কাজ, বধ, দিন, ছাপানো,
PWD, পড়া, বাস্তবপথ, নামান্তর, ঘুম, ঝুলান, পরীক্ষা, সত্য, সীমা, উমস্ক, ইউনালিয়াস, যেখান থেকে
একবার কমান্ডের ধরন নির্ধারণ করা হলে, যেকোনো কমান্ড-লাইন প্যারামিটার অ্যাসাইনমেন্ট হয়
কমান্ডের সময়কালের জন্য সঞ্চালিত এবং রপ্তানি করা হয়।
নিম্নলিখিত বিশেষ এবং নিয়মিত বিল্ট-ইন কমান্ড এবং বিল্ট-ইন-এর মতো সংরক্ষিত বর্ণনা করে
শব্দ:
. ফাইল [ARG ...]
এটিকে "ডট" কমান্ড বলা হয়। এর মধ্যে কমান্ডগুলি চালান ফাইল বর্তমান
পরিবেশ ফাইলটি PATH-এর ডিরেক্টরিতে অনুসন্ধান করা হয়। যদি তর্ক হয়
প্রদত্ত, অবস্থানগত পরামিতিগুলি সেগুলি অ্যাক্সেস করার সময় ব্যবহার করা যেতে পারে ফাইল হচ্ছে
নিষ্পন্ন. যদি কোন যুক্তি দেওয়া না হয়, অবস্থানগত পরামিতিগুলি হল এর
যে পরিবেশে কমান্ডটি ব্যবহৃত হয়।
: [...]
নাল কমান্ড. প্রস্থান অবস্থা শূন্য সেট করা হয়.
[ অভিব্যক্তি ]
দেখ পরীক্ষা.
উপনাম [-d | -t [-r] | | +-এক্স] [-p] [+] [নাম [=মূল্য] ...]
যুক্তি ছাড়া, উপনাম সমস্ত উপনামের তালিকা করে। একটি মান ছাড়া কোনো নামের জন্য,
বিদ্যমান উপনাম তালিকাভুক্ত করা হয়। মান সহ যেকোনো নাম একটি উপনাম সংজ্ঞায়িত করে (দেখুন ওরফে
উপরে)।
উপনাম তালিকাভুক্ত করার সময়, দুটি ফর্ম্যাটের মধ্যে একটি ব্যবহার করা হয়। সাধারণত, উপনাম হিসাবে তালিকাভুক্ত করা হয়
নাম=মূল্য, কোথায় মূল্য উদ্ধৃত করা হয় যদি বিকল্পগুলির আগে '+', অথবা একটি একা '+' থাকে
কমান্ড লাইনে দেওয়া হয়, শুধুমাত্র নাম মুদ্রিত হয়।
সার্জারির -d বিকল্পটি তালিকাভুক্ত করার জন্য ডিরেক্টরি উপনামগুলি তৈরি করে যা টিল্ড সম্প্রসারণে ব্যবহৃত হয়
অথবা সেট (দেখুন টিল্ড সম্প্রসারণ উপরে)।
যদি -p বিকল্পটি ব্যবহার করা হয়, প্রতিটি উপনাম স্ট্রিং "অ্যালিয়াস" এর সাথে প্রিফিক্স করা হয়।
সার্জারির -t বিকল্পটি নির্দেশ করে যে ট্র্যাক করা উপনামগুলি তালিকাভুক্ত/সেট করা হবে (মানগুলি নির্দিষ্ট করা হয়েছে
কমান্ড লাইনে ট্র্যাক করা উপনামের জন্য উপেক্ষা করা হয়)। দ্য -r বিকল্প নির্দেশ করে যে
সমস্ত ট্র্যাক করা উপনাম রিসেট করতে হবে।
সার্জারির -x বিকল্প সেট (+x সাফ করে) একটি উপনামের এক্সপোর্ট অ্যাট্রিবিউট, বা, যদি কোনো নাম না থাকে
প্রদত্ত, রপ্তানি বৈশিষ্ট্য সহ উপনামগুলি তালিকাভুক্ত করে (একটি উপনাম রপ্তানির নম্বর নেই৷
প্রভাব)।
bg [কাজ ...]
ব্যাকগ্রাউন্ডে নির্দিষ্ট বন্ধ করা কাজ(গুলি) পুনরায় শুরু করুন। যদি কোন চাকরি নির্দিষ্ট না থাকে, %+
অনুমান করা হচ্ছে. দেখা কাজ নিয়ন্ত্রণ আরো তথ্যের জন্য নীচে।
বাঁধাই করা [-l]
বর্তমান বাঁধাই তালিকাভুক্ত করা হয়. যদি -l পতাকা দেওয়া হয়, বাঁধাই করা পরিবর্তে তালিকা
ফাংশনগুলির নাম যেখানে কীগুলি আবদ্ধ হতে পারে। দেখা এ গিয়ে emacs সম্পাদনা মোড আরো বেশী
তথ্য।
বাঁধাই করা [-m] স্ট্রিং=[বিকল্প] ...
বাঁধাই করা স্ট্রিং=[সম্পাদনা-কমান্ড] ...
নির্দিষ্ট সম্পাদনা কমান্ড প্রদত্ত সাথে আবদ্ধ স্ট্রিং, যা একটি গঠিত হওয়া উচিত
নিয়ন্ত্রণ অক্ষর ঐচ্ছিকভাবে দুটি উপসর্গ অক্ষরের একটি দ্বারা পূর্বে এবং
ঐচ্ছিকভাবে একটি টিল্ড অক্ষর দ্বারা সফল। ভবিষ্যতের ইনপুট স্ট্রিং কারণ হতে হবে
সম্পাদনা কমান্ড অবিলম্বে আহ্বান করা হবে। যদি -m পতাকা দেওয়া হয়, নির্দিষ্ট
ইনপুট স্ট্রিং পরে অবিলম্বে প্রদত্ত দ্বারা প্রতিস্থাপিত হবে বিকল্প স্ট্রিং
যেটিতে সম্পাদনা কমান্ড থাকতে পারে কিন্তু অন্যান্য ম্যাক্রো নয়। যদি একটি টিল্ড পোস্টফিক্স হয়
প্রদত্ত, একটি বা দুটি উপসর্গের পিছনে একটি টিল্ড এবং নিয়ন্ত্রণ অক্ষর উপেক্ষা করা হয়,
অন্য কোন অনুগামী অক্ষর পরে প্রক্রিয়া করা হবে.
কন্ট্রোল অক্ষরগুলি ক্যারেট নোটেশন ব্যবহার করে লেখা হতে পারে যেমন ^X Ctrl-X প্রতিনিধিত্ব করে।
উল্লেখ্য যে যদিও শুধুমাত্র দুটি উপসর্গ অক্ষর (সাধারণত ESC এবং ^X) সমর্থিত,
কিছু বহু-অক্ষরের ক্রম সমর্থিত হতে পারে।
নিম্নলিখিত ডিফল্ট বাইন্ডিংগুলি দেখায় কিভাবে তীর কী, হোম, শেষ এবং মুছে ফেলা কী
একটি BSD wsvt25-এ, xterm-xfree86 বা GNU স্ক্রিন টার্মিনাল আবদ্ধ (অবশ্যই কিছু
পালানোর ক্রমগুলি খুব সুন্দরভাবে কাজ করবে না):
বাইন্ড '^X' = উপসর্গ-2
bind '^[['= উপসর্গ-2
'^XA' = আপ-ইতিহাস বাঁধুন
বাইন্ড '^XB'=ডাউন-ইতিহাস
বাইন্ড '^XC' = ফরোয়ার্ড-চার
বাইন্ড '^XD' = পশ্চাদগামী-চর
বাইন্ড '^X1~' = লাইনের শুরু
বাইন্ড '^X7~' = লাইনের শুরু
বাইন্ড '^XH' = লাইনের শুরু
বাইন্ড '^X4~'= লাইনের শেষ
বাইন্ড '^X8~'= লাইনের শেষ
বাঁধুন '^XF'= লাইনের শেষ
বাইন্ড '^X3~'=delete-char-forward
বিরতি [স্তর]
থেকে প্রস্থান করুন স্তরসবচেয়ে ভিতরের উন্নত , নির্বাচন করা, পর্যন্ত, বা যখন লুপ. স্তর ডিফল্ট 1।
builtin [--] হুকুম [ARG ...]
বিল্ট-ইন কমান্ড চালান হুকুম.
বিড়াল [-u] [ফাইল ...]
কমান্ড লাইনের ক্রমানুসারে ফাইলগুলি পড়ুন এবং সেগুলিকে স্ট্যান্ডার্ড আউটপুটে লিখুন।
যদি একটি ফাইল একটি একক ড্যাশ ('-') বা অনুপস্থিত, স্ট্যান্ডার্ড ইনপুট থেকে পড়া। সরাসরি জন্য
বিল্টইন কল, POSIX -u বিকল্পটি নো-অপ হিসাবে সমর্থিত। শেল থেকে কলের জন্য, যদি
যে কোন অপশন দেওয়া হয়, একটি বহিরাগত বিড়াল(1) বিল্টইনের চেয়ে ইউটিলিটি পছন্দ করা হয়।
cd [-L] [Dir]
cd -P [-e] [Dir]
chdir [-ইএলপি] [Dir]
কাজের ডিরেক্টরিতে সেট করুন Dir. যদি CDPATH পরামিতি সেট করা থাকে, এটি তালিকাভুক্ত করে
ডিরেক্টরি ধারণকারী জন্য অনুসন্ধান পাথ Dir. একটি NULL পাথ মানে বর্তমান
ডিরেক্টরি যদি Dir CDPATH অনুসন্ধান পাথ ছাড়া অন্য কোনো উপাদানে পাওয়া যায়
NULL পাথ, নতুন ওয়ার্কিং ডিরেক্টরির নাম স্ট্যান্ডার্ড আউটপুটে লেখা হবে।
If Dir অনুপস্থিত, হোম ডিরেক্টরি HOME ব্যবহৃত হয়। যদি Dir হল '-', আগেরটি
কাজের ডিরেক্টরি ব্যবহার করা হয় (OLDPWD প্যারামিটার দেখুন)।
যদি -L বিকল্প (যৌক্তিক পথ) ব্যবহার করা হয় বা যদি শারীরিক বিকল্প সেট করা নেই (দেখুন
সেট নিচের কমান্ড), '..'-এর রেফারেন্স Dir পেতে ব্যবহৃত পথ আপেক্ষিক
ডিরেক্টরি যদি -P বিকল্প (শারীরিক পথ) ব্যবহার করা হয় বা যদি শারীরিক বিকল্প হয়
সেট, '..' ফাইল সিস্টেম ডিরেক্টরি গাছের সাথে আপেক্ষিক। PWD এবং OLDPWD
বর্তমান এবং পুরানো ওয়ার্কিং ডিরেক্টরি প্রতিফলিত করতে পরামিতি আপডেট করা হয়,
যথাক্রমে যদি -e বিকল্পটি ফিজিক্যাল ফাইল সিস্টেম ট্রাভার্সাল এবং PWD-এর জন্য সেট করা আছে
সেট করা যায়নি, প্রস্থান কোড হল 1; 1 এর থেকে বেশি যদি একটি ত্রুটি ঘটে, 0
অন্যথায়।
cd [-ইএলপি] পুরাতন নতুন
chdir [-ইএলপি] পুরাতন নতুন
স্ট্রিং নতুন জন্য প্রতিস্থাপিত হয় পুরাতন বর্তমান ডিরেক্টরিতে, এবং শেল
নতুন ডিরেক্টরিতে পরিবর্তন করার চেষ্টা করে।
হুকুম [-pVv] cmd কমান্ড [ARG ...]
যদি না হয় -v না -V বিকল্প দেওয়া হয়, cmd কমান্ড ঠিক যেন মৃত্যুদন্ড কার্যকর করা হয় হুকুম ছিল
দুটি ব্যতিক্রম সহ নির্দিষ্ট করা হয়নি: প্রথমত, cmd কমান্ড একটি শেল ফাংশন হতে পারে না; এবং
দ্বিতীয়ত, বিশেষ অন্তর্নির্মিত কমান্ড তাদের বিশেষত্ব হারায় (যেমন পুনর্নির্দেশ এবং
ইউটিলিটি ত্রুটি শেল থেকে প্রস্থান করে না এবং কমান্ড অ্যাসাইনমেন্টগুলি হয় না
স্থায়ী)।
যদি -p বিকল্প দেওয়া হয়, বর্তমান মানের পরিবর্তে একটি ডিফল্ট অনুসন্ধান পথ ব্যবহার করা হয়
PATH এর, যার প্রকৃত মান সিস্টেম নির্ভর।
যদি -v কার্যকর করার পরিবর্তে বিকল্প দেওয়া হয় cmd কমান্ড, কি হবে সে সম্পর্কে তথ্য
মৃত্যুদন্ড দেওয়া হয় (এবং একই জন্য করা হয় ARG ...) বিল্টইন, ফাংশন এবং জন্য
কীওয়ার্ড, তাদের নাম সহজভাবে মুদ্রিত হয়; উপনামের জন্য, একটি কমান্ড যা তাদের সংজ্ঞায়িত করে
মুদ্রিত; PATH প্যারামিটার অনুসন্ধান করে পাওয়া ইউটিলিটিগুলির জন্য, এর সম্পূর্ণ পথ
কমান্ড মুদ্রিত হয়। যদি কোন কমান্ড পাওয়া না যায় (অর্থাৎ পথ অনুসন্ধান ব্যর্থ হয়), কিছুই নেই
মুদ্রিত এবং হুকুম একটি নন-জিরো স্ট্যাটাস দিয়ে প্রস্থান করে। দ্য -V বিকল্পটি এর মতো -v
বিকল্প, এটি আরো ভার্বস ছাড়া.
অবিরত [স্তর]
শুরুতে লাফ দেয় স্তরসবচেয়ে ভিতরের উন্নত , নির্বাচন করা, পর্যন্ত, বা যখন লুপ.
স্তর ডিফল্ট 1।
প্রতিধ্বনি [-ইন] [ARG ...]
সতর্কতা: এই ইউটিলিটি বহনযোগ্য নয়; কর্ন শেল বিল্টইন ব্যবহার করুন ছাপানো পরিবর্তে.
স্ট্যান্ডার্ডে একটি নতুন লাইন অনুসরণ করে এর আর্গুমেন্টগুলি (স্পেস দিয়ে আলাদা করা) প্রিন্ট করে
আউটপুট যেকোনো আর্গুমেন্টে ব্যাকস্ল্যাশ থাকলে নিউলাইনটি চাপা হয়
ক্রম '\c'। দেখুন ছাপানো অন্যান্য ব্যাকস্ল্যাশ সিকোয়েন্সের তালিকার জন্য নীচের কমান্ড
যেগুলো স্বীকৃত।
BSD শেল স্ক্রিপ্টগুলির সাথে সামঞ্জস্যের জন্য বিকল্পগুলি সরবরাহ করা হয়েছে। দ্য -n পছন্দ
পিছনের নতুন লাইনকে দমন করে, -e ব্যাকস্ল্যাশ ব্যাখ্যা সক্ষম করে (একটি নো-অপ, যেহেতু
এটি সাধারণত করা হয়), এবং -E ব্যাকস্ল্যাশ ব্যাখ্যা দমন করে।
যদি posix or sh বিকল্প সেট করা হয়েছে বা এটি একটি সরাসরি বিল্টইন কল, শুধুমাত্র প্রথম
যুক্তিকে একটি বিকল্প হিসাবে বিবেচনা করা হয় এবং শুধুমাত্র যদি এটি ঠিক হয় "-n” ব্যাকস্ল্যাশ
ব্যাখ্যা নিষ্ক্রিয়।
স্পষ্ট হুকুম ...
একটি একক স্ট্রিং গঠন করতে আর্গুমেন্টগুলিকে একত্রিত করা হয় (তাদের মধ্যে ফাঁকা স্থান সহ)
যা শেল তখন বর্তমান পরিবেশে পার্স করে এবং এক্সিকিউট করে।
Exec [-a argv0] [-c] [হুকুম [ARG ...]]
শেল প্রক্রিয়া প্রতিস্থাপন, কাঁটাচামচ ছাড়াই কমান্ডটি কার্যকর করা হয়। এই
বর্তমানে পরম, অর্থাৎ Exec ফিরে আসে না, এমনকি যদি হুকুম খুঁজে পাওয়া যায় নি. দ্য
-a বিকল্প একটি ভিন্ন argv[0] মান সেট করার অনুমতি দেয়, এবং -c পরিবেশ পরিষ্কার করে
চাইল্ড প্রক্রিয়া চালানোর আগে, _ পরিবর্তনশীল এবং সরাসরি অ্যাসাইনমেন্ট ছাড়া।
যদি I/O পুনঃনির্দেশ ব্যতীত কোন কমান্ড না দেওয়া হয়, I/O পুনঃনির্দেশ স্থায়ী হয়
এবং শেল প্রতিস্থাপিত হয় না। যেকোন ফাইল বর্ণনাকারী 2 এর বেশি যা খোলা হয়
or DUP(2)'d এইভাবে অন্যান্য নির্বাহিত কমান্ডের জন্য উপলব্ধ করা হয় না (যেমন
শেলে অন্তর্নির্মিত নয় এমন কমান্ড)। নোট করুন যে বোর্ন শেল আলাদা
এখানে; এটি এই ফাইল বর্ণনাকারী পাস করে।
প্রস্থান [অবস্থা]
শেলটি নির্দিষ্ট প্রস্থান অবস্থার সাথে প্রস্থান করে। যদি অবস্থা নির্দিষ্ট করা হয় না, প্রস্থান
অবস্থা হল বর্তমান মান $? প্যারামিটার।
রপ্তানি [-p] [স্থিতিমাপ[=মূল্য]]
নামযুক্ত প্যারামিটারের এক্সপোর্ট অ্যাট্রিবিউট সেট করে। রপ্তানি পরামিতি পাস করা হয়
নির্বাহিত কমান্ডের পরিবেশ। মান নির্দিষ্ট করা হলে, নাম দেওয়া পরামিতি
এছাড়াও বরাদ্দ করা হয়।
যদি কোনো প্যারামিটার নির্দিষ্ট করা না থাকে, তাহলে এক্সপোর্ট অ্যাট্রিবিউট সেট সহ সমস্ত প্যারামিটার
প্রতি লাইনে একটি মুদ্রিত; হয় তাদের নাম, অথবা, যদি '-' কোন বিকল্প অক্ষর না থাকে
নির্দিষ্ট, নাম=মান জোড়া, বা, সহ -p, রপ্তানি পুনরায় প্রবেশের জন্য উপযুক্ত কমান্ড।
মিথ্যা একটি কমান্ড যা একটি অ-শূন্য স্থিতি সহ প্রস্থান করে।
fc [-e সম্পাদক | -l [-n]] [-r] [প্রথম [গত]]
প্রথম এবং গত ইতিহাস থেকে কমান্ড নির্বাচন করুন। কমান্ড ইতিহাস দ্বারা নির্বাচন করা যেতে পারে
সংখ্যা (ঋণাত্মক সংখ্যাগুলি বর্তমান, সাম্প্রতিক, লাইন থেকে পিছনের দিকে যায়) বা ক
স্ট্রিং সেই স্ট্রিং দিয়ে শুরু হওয়া সাম্প্রতিক কমান্ড উল্লেখ করে। দ্য -l পছন্দ
স্ট্যান্ডার্ড আউটপুটে কমান্ড তালিকাভুক্ত করে, এবং -n ডিফল্ট কমান্ড সংখ্যাকে বাধা দেয়।
সার্জারির -r বিকল্প তালিকার ক্রম বিপরীত করে। ছাড়া -l, নির্বাচিত কমান্ড হল
এর সাথে নির্দিষ্ট সম্পাদক দ্বারা সম্পাদিত -e বিকল্প, অথবা যদি না -e নির্দিষ্ট করা হয়,
FCEDIT প্যারামিটার দ্বারা নির্দিষ্ট করা সম্পাদক (যদি এই প্যারামিটারটি সেট না করা হয়, /bin/ed is
ব্যবহৃত), এবং তারপর শেল দ্বারা মৃত্যুদন্ড কার্যকর করা হয়।
fc -e - | -s [-g] [পুরাতন=নতুন] [উপসর্গ]
পারফর্ম করার পরে নির্বাচিত কমান্ড (ডিফল্টরূপে পূর্ববর্তী কমান্ড) পুনরায় কার্যকর করুন
এর ঐচ্ছিক প্রতিস্থাপন পুরাতন সঙ্গে নতুন। যদি -g নির্দিষ্ট করা হয়, এর সমস্ত ঘটনা
পুরাতন সঙ্গে প্রতিস্থাপন করা হয় নতুন. অর্থ -e - এবং -s অভিন্ন: পুনরায় চালানো
একটি সম্পাদক আহ্বান ছাড়াই নির্বাচিত কমান্ড। এই কমান্ডটি সাধারণত এর সাথে অ্যাক্সেস করা হয়
পূর্বনির্ধারিত: উপনাম r='fc -e -'
fg [কাজ ...]
অগ্রভাগে নির্দিষ্ট কাজ(গুলি) পুনরায় শুরু করুন। যদি কোন চাকরি নির্দিষ্ট না থাকে, %+ is
অনুমান দেখা কাজ নিয়ন্ত্রণ আরো তথ্যের জন্য নীচে।
getopts optstring নাম [ARG ...]
নির্দিষ্ট আর্গুমেন্ট পার্স করতে শেল পদ্ধতি দ্বারা ব্যবহৃত হয় (বা অবস্থানগত পরামিতি,
যদি কোন যুক্তি দেওয়া না হয়) এবং আইনি বিকল্পগুলি পরীক্ষা করতে। optstring থাকে
বিকল্প অক্ষর যে getopts চিনতে হয়। একটি অক্ষর একটি কোলন দ্বারা অনুসরণ করা হলে,
বিকল্প একটি যুক্তি আছে প্রত্যাশিত. যে অপশনগুলো তর্ক করতে পারে না
একটি একক যুক্তিতে দলবদ্ধ। যদি একটি বিকল্প একটি যুক্তি এবং বিকল্প লাগে
চরিত্রটি যে যুক্তিতে পাওয়া যায় তার শেষ অক্ষর নয়, এর অবশিষ্টাংশ
যুক্তিটিকে বিকল্পের যুক্তি হিসাবে নেওয়া হয়; অন্যথায়, পরবর্তী যুক্তি হয়
বিকল্পের যুক্তি।
প্রতি বার getopts আহ্বান করা হয়, এটি শেল প্যারামিটারে পরবর্তী বিকল্পটি রাখে নাম
এবং আর্গুমেন্টের সূচী পরবর্তী কল দ্বারা প্রক্রিয়া করা হবে getopts মধ্যে
শেল প্যারামিটার অপটিন্ড। যদি বিকল্পটি '+' দিয়ে চালু করা হয়, বিকল্পটি স্থাপন করা হয়
in নাম একটি '+' এর সাথে উপসর্গ থাকে। যখন একটি বিকল্পের জন্য একটি যুক্তির প্রয়োজন হয়, getopts জায়গা
এটি শেল প্যারামিটার OPTARG এ।
যখন একটি অবৈধ বিকল্প বা একটি অনুপস্থিত বিকল্প যুক্তি সম্মুখীন হয়, একটি প্রশ্ন চিহ্ন
বা একটি কোলন স্থাপন করা হয় নাম (একটি অবৈধ বিকল্প বা অনুপস্থিত যুক্তি নির্দেশ করে,
যথাক্রমে) এবং OPTARG বিকল্প চরিত্রে সেট করা হয়েছে যা সমস্যা সৃষ্টি করেছে।
তদ্ব্যতীত, যদি optstring একটি কোলন দিয়ে শুরু হয় না, একটি প্রশ্ন চিহ্ন স্থাপন করা হয়
নাম, OPTARG সেট করা নেই, এবং একটি ত্রুটি বার্তা প্রমিত ত্রুটিতে প্রিন্ট করা হয়েছে৷
যখন বিকল্পগুলির শেষ সম্মুখীন হয়, getopts একটি অ-শূন্য প্রস্থান সঙ্গে প্রস্থান
অবস্থা বিকল্পগুলি প্রথম (অ-বিকল্প যুক্তি) যুক্তিতে শেষ হয় যা শুরু হয় না
একটি '-' দিয়ে, অথবা যখন একটি '--' আর্গুমেন্টের সম্মুখীন হয়।
অপশন পার্সিং OPTIND 1 এ সেট করে পুনরায় সেট করা যেতে পারে (এটি স্বয়ংক্রিয়ভাবে সম্পন্ন হয়
যখনই শেল বা শেল পদ্ধতি চালু করা হয়)।
সতর্কতা: শেল প্যারামিটার OPTIND-এর মান 1 ব্যতীত অন্য কোনও মানতে পরিবর্তন করা, বা
OPTIND রিসেট না করে আর্গুমেন্টের বিভিন্ন সেট পার্স করা অপ্রত্যাশিত হতে পারে
ফলাফল.
বিশ্বব্যাপী ...
দেখ টাইপসেট.
কাটা [-r] [নাম ...]
আর্গুমেন্ট ছাড়া, কোনো হ্যাশ করা এক্সিকিউটেবল কমান্ড পাথনেম তালিকাভুক্ত করা হয়। দ্য -r পছন্দ
হ্যাশ টেবিল থেকে সমস্ত হ্যাশড কমান্ড মুছে ফেলার কারণ। প্রতিটি নাম অনুসন্ধান করা হয়
যেন এটি একটি কমান্ডের নাম এবং হ্যাশ টেবিলে যোগ করা হয় যদি এটি একটি এক্সিকিউটেবল হয়
কমান্ড।
কাজ [-এলএনপি] [কাজ ...]
নির্দিষ্ট কাজ(গুলি) সম্পর্কে তথ্য প্রদর্শন করুন; যদি কোনো চাকরি নির্দিষ্ট না থাকে, সব চাকরি
প্রদর্শিত হয় দ্য -n বিকল্প শুধুমাত্র কাজের জন্য তথ্য প্রদর্শন করতে কারণ
শেষ বিজ্ঞপ্তি থেকে রাষ্ট্র পরিবর্তন হয়েছে. যদি -l বিকল্প ব্যবহার করা হয়,
একটি কাজের প্রতিটি প্রক্রিয়ার প্রক্রিয়া আইডিও তালিকাভুক্ত করা হয়। দ্য -p বিকল্প শুধুমাত্র কারণ
প্রতিটি কাজের প্রসেস গ্রুপ প্রিন্ট করতে হবে। দেখা কাজ নিয়ন্ত্রণ এর বিন্যাসের জন্য নীচে কাজ
এবং প্রদর্শিত কাজ।
বধ [-s স্বাক্ষর | -সাইনাম | -স্বাক্ষর] { কাজ | PID | pgrp } ...
নির্দিষ্ট কাজ, প্রক্রিয়া আইডি বা প্রক্রিয়া গোষ্ঠীতে নির্দিষ্ট সংকেত পাঠান। যদি
কোন সংকেত নির্দিষ্ট করা হয় না, TERM সংকেত পাঠানো হয়. একটি কাজ নির্দিষ্ট করা হলে, সংকেত
কাজের প্রক্রিয়া গ্রুপে পাঠানো হয়। দেখা কাজ নিয়ন্ত্রণ এর বিন্যাসের জন্য নীচে কাজ.
বধ -l [প্রস্থান অবস্থা ...]
অনুরূপ সংকেত নাম মুদ্রণ প্রস্থান অবস্থা. যদি কোন আর্গুমেন্ট নির্দিষ্ট করা না থাকে, a
সমস্ত সংকেতের তালিকা, তাদের সংখ্যা এবং তাদের একটি সংক্ষিপ্ত বিবরণ মুদ্রিত হয়।
দিন [অভিব্যক্তি ...]
প্রতিটি অভিব্যক্তি মূল্যায়ন করা হয় (দেখুন পাটীগণিত এক্সপ্রেশন উপরে)। যদি সব অভিব্যক্তি
সফলভাবে মূল্যায়ন করা হয়েছে, যদি শেষ অভিব্যক্তিটি মূল্যায়ন করা হয় তাহলে প্রস্থান অবস্থা 0 (1) হয়
to non-zero (শূন্য). পার্সিং বা মূল্যায়নের সময় যদি কোনো ত্রুটি ঘটে
এক্সপ্রেশন, এক্সিট স্ট্যাটাস 1-এর থেকে বেশি। যেহেতু এক্সপ্রেশনের প্রয়োজন হতে পারে
উদ্ধৃত, (( এক্সপ্রেস )) হল { let' এর জন্য সিনট্যাকটিক চিনিএক্সপ্রেস'; }
দিন] জন্য অভ্যন্তরীণভাবে ব্যবহৃত উপনাম দিন.
mknod [-m মোড] নাম b|c মুখ্য গৌণ
mknod [-m মোড] নাম p
একটি ডিভাইস বিশেষ ফাইল তৈরি করুন। ফাইল টাইপ হতে পারে b (ব্লক টাইপ ডিভাইস), c
(অক্ষর টাইপ ডিভাইস), বা p (নাম পাইপ, FIFO)। তৈরি করা ফাইল পরিবর্তন করা যেতে পারে
তার অনুযায়ী মোড (এর মাধ্যমে -m বিকল্প), মুখ্য (প্রধান ডিভাইস নম্বর), এবং গৌণ
(অপ্রধান ডিভাইস নম্বর)। এটি সাধারণত এর অংশ নয় ধন্যবাদ; যাইহোক, পরিবেশকরা পারে
এটি একটি গতি হ্যাক হিসাবে বিল্টইন হিসাবে যোগ করা হয়েছে.
ছাপানো [-এনপিআরএসইউ[n] | | -R [-en]] [যুক্তি ...]
ছাপানো স্ট্যান্ডার্ড আউটপুটে এর আর্গুমেন্ট প্রিন্ট করে, স্পেস দিয়ে আলাদা করে এবং শেষ করা হয়
একটি নতুন লাইন দিয়ে। দ্য -n বিকল্পটি নতুন লাইনকে দমন করে। ডিফল্টরূপে, নির্দিষ্ট সি পালিয়ে যায়
অনুবাদ করা হয়। এর মধ্যে উল্লেখ করা হয়েছে ব্যাকস্ল্যাশ সম্প্রসারণ উপরে, পাশাপাশি
'\c' হিসাবে, যা ব্যবহার করার সমতুল্য -n বিকল্প ব্যাকস্ল্যাশ সম্প্রসারণ হতে পারে
সঙ্গে বাধা -r বিকল্প। দ্য -s বিকল্প ইতিহাস ফাইলের পরিবর্তে প্রিন্ট করে
স্ট্যান্ডার্ড আউটপুট; দ্য -u অপশন ফাইল বর্ণনাকারীতে প্রিন্ট করে n (n ডিফল্ট 1 হলে
বাদ দেওয়া হয়েছে); এবং -p বিকল্প সহ-প্রক্রিয়াতে প্রিন্ট করে (দেখুন সহ-প্রক্রিয়া উপরে)।
সার্জারির -R বিকল্পটি কিছু মাত্রায় বিএসডি অনুকরণ করতে ব্যবহৃত হয় প্রতিধ্বনি(1) আদেশ যা করে
'\' সিকোয়েন্স প্রসেস করবেন না যদি না -e অপশন দেওয়া হয়। উপরের হিসাবে, -n পছন্দ
ট্রেলিং নিউলাইনকে দমন করে।
printf, বিন্যাস [আর্গুমেন্ট ...]
ফরম্যাট করা আউটপুট। প্রায় একই printf,(1), ইউটিলিটি, এটি ব্যবহার ব্যতীত
একই ব্যাকস্ল্যাশ সম্প্রসারণ এবং I/O কোড এবং ফ্লোটিং পয়েন্ট হিসাবে পরিচালনা করে না
বাকি ধন্যবাদ. একটি বহিরাগত ইউটিলিটি বিল্টইনের চেয়ে পছন্দ করা হয়। এটি হবে না
সাধারণত অংশ ধন্যবাদ; যাইহোক, ডিস্ট্রিবিউটররা এটিকে বিল্টইন হিসাবে যোগ করে থাকতে পারে
গতি হ্যাক. নতুন কোড ব্যবহার করবেন না.
PWD [-এলপি]
বর্তমান কাজের ডিরেক্টরি প্রিন্ট করুন। যদি -L বিকল্প ব্যবহার করা হয় বা যদি শারীরিক
বিকল্প সেট করা নেই (দেখুন সেট নীচের কমান্ড), লজিক্যাল পাথ মুদ্রিত হয় (যেমন
পথ ব্যবহার করা হয় cd বর্তমান ডিরেক্টরিতে)। যদি -P বিকল্প (শারীরিক পথ) ব্যবহার করা হয়
বা যদি শারীরিক বিকল্প সেট করা হয়েছে, ফাইল সিস্টেম থেকে নির্ধারিত পথ (দ্বারা
রুট ডিরেক্টরিতে '..' ডিরেক্টরিগুলি অনুসরণ করে) মুদ্রিত হয়।
পড়া [-A | -a] [-d x] [-N z | -n z] [-p | -u[n]] [-t n] [-আরএস] [p ...]
ইনপুটের একটি লাইন পড়ে, IFS প্যারামিটার ব্যবহার করে ইনপুটকে ক্ষেত্রগুলিতে আলাদা করে (দেখুন
প্রতিকল্পন উপরে), এবং প্রতিটি ক্ষেত্র নির্দিষ্ট পরামিতিগুলিতে বরাদ্দ করে p। যদি না
পরামিতি নির্দিষ্ট করা হয়, ফলাফল সংরক্ষণ করতে REPLY প্যারামিটার ব্যবহার করা হয়। সঙ্গে
-A এবং -a বিকল্প, শুধুমাত্র কোন বা একটি প্যারামিটার গ্রহণ করা হয় না। যদি আরো থাকে
ক্ষেত্রগুলির তুলনায় পরামিতি, অতিরিক্ত পরামিতিগুলি খালি স্ট্রিং বা 0 এ সেট করা হয়; যদি
পরামিতিগুলির চেয়ে আরও বেশি ক্ষেত্র রয়েছে, শেষ পরামিতিটি অবশিষ্টটি বরাদ্দ করা হয়েছে
ক্ষেত্র (শব্দ বিভাজক সহ)।
বিকল্পগুলি নিম্নরূপ:
-A ফলাফলটি প্যারামিটারে সংরক্ষণ করুন p (বা উত্তর) শব্দের অ্যারে হিসাবে।
-a প্যারামিটারে শব্দ বিভক্ত না করে ফলাফল সংরক্ষণ করুন p (বা উত্তর) হিসাবে
অক্ষরের বিন্যাস (বিস্তৃত অক্ষর যদি utf8-মোড বিকল্প প্রণীত হয়,
অক্টেট অন্যথায়); কোডপয়েন্টগুলি ডিফল্টরূপে দশমিক সংখ্যা হিসাবে এনকোড করা হয়।
-d x এর প্রথম বাইট ব্যবহার করুন x, NUL খালি থাকলে, ASCII newline অক্ষরের পরিবর্তে
ইনপুট লাইন ডিলিমিটার হিসাবে।
-N z লাইনের শেষ পর্যন্ত পড়ার পরিবর্তে হুবহু পড়ুন z বাইট যদি ইওএফ বা ক
টাইমআউট ঘটে, একটি আংশিক পঠিত প্রস্থান অবস্থা 1 সহ ফেরত দেওয়া হয়।
-n z লাইনের শেষ পর্যন্ত পড়ার পরিবর্তে, পর্যন্ত পড়ুন z বাইট কিন্তু যত তাড়াতাড়ি ফিরে
যেকোন বাইট পড়া হয়, যেমন একটি ধীর টার্মিনাল ডিভাইস থেকে, অথবা যদি EOF বা সময় শেষ হয়
দেখা দেয়।
-p বর্তমানে সক্রিয় সহ-প্রক্রিয়া থেকে পড়ুন, দেখুন সহ-প্রক্রিয়া বিস্তারিত জানার জন্য উপরে
ইহার উপর.
-u[n] ফাইল বর্ণনাকারী থেকে পড়ুন n (ডিফল্ট 0, অর্থাৎ স্ট্যান্ডার্ড ইনপুট)। দ্য
যুক্তি অবিলম্বে বিকল্প অক্ষর অনুসরণ করা আবশ্যক.
-t n পরে পড়া বাধা n সেকেন্ড (একটির সাথে ধনাত্মক দশমিক মান হিসাবে নির্দিষ্ট করা হয়েছে
ঐচ্ছিক ভগ্নাংশ)। এর প্রস্থান অবস্থা পড়া টাইমআউট হলে 1 হয়
ঘটেছে, কিন্তু আংশিক পঠিত এখনও ফিরে আসতে পারে.
-r সাধারণত, ASCII ব্যাকস্ল্যাশ অক্ষরটি এর বিশেষ অর্থ এড়িয়ে যায়
নিম্নলিখিত অক্ষর এবং ইনপুট থেকে ছিনতাই করা হয়; পড়া কখন থামে না
একটি ব্যাকস্ল্যাশ-নতুন লাইন সিকোয়েন্সের সম্মুখীন হচ্ছে এবং সেই নিউলাইনটি সংরক্ষণ করে না
ফলাফল. এই বিকল্পটি কাঁচা মোড সক্ষম করে, যেখানে ব্যাকস্ল্যাশগুলি নেই৷
প্রক্রিয়াজাত।
-s ইনপুট লাইন ইতিহাসে সংরক্ষিত হয়.
ইনপুট একটি টার্মিনাল হলে, উভয় -N এবং -n বিকল্পগুলি এটিকে কাঁচা মোডে সেট করে; তারা
একটি সম্পূর্ণ ফাইল পড়ুন যদি -1 হিসাবে পাস করা হয় z যুক্তি.
প্রথম প্যারামিটারে একটি প্রশ্নবোধক চিহ্ন এবং একটি স্ট্রিং যুক্ত থাকতে পারে, যার মধ্যে
ক্ষেত্রে স্ট্রিংটি প্রম্পট হিসাবে ব্যবহার করা হয় (কোনও ইনপুট হওয়ার আগে স্ট্যান্ডার্ড ত্রুটিতে প্রিন্ট করা হয়
পড়ুন) যদি ইনপুট হয় a TTY(4) (যেমন পড়া nfoo?' নম্বর of foos: ').
যদি কোন ইনপুট পড়া না হয় বা সময় শেষ না হয়, পড়া একটি নন-জিরো স্ট্যাটাস দিয়ে প্রস্থান করে।
কৌশলের আরেকটি সহজ সেট: যদি পড়া যেমন একটি লুপে চালানো হয় যখন পড়া foo; do ...;
সম্পন্ন তারপর লিডিং হোয়াইটস্পেস সরানো হবে (IFS) এবং ব্যাকস্ল্যাশ প্রক্রিয়া করা হবে। আপনি
ব্যবহার করতে চাইতে পারে যখন IFS= পড়া -r foo; do ...; সম্পন্ন আদিম I/O এর জন্য। একইভাবে,
ব্যবহার করার সময় -a বিকল্প, ব্যবহার -r বিকল্প বিচক্ষণ হতে পারে; একই প্রযোজ্য
জন্য:
অনুসন্ধান . -টাইপ f -print0 |& \
যখন IFS= read -d '' -pr ফাইলের নাম; করতে
print -r -- " <${filename#./}> পাওয়া গেছে"
সম্পন্ন
অভ্যন্তরীণ লুপটি একটি সাবশেলে কার্যকর করা হবে এবং পরিবর্তনশীল পরিবর্তন করা যাবে না
একটি পাইপলাইনে সম্পাদিত হলে প্রচারিত:
বার | baz | foo পড়ার সময়; কর...; সম্পন্ন
পরিবর্তে সহ-প্রক্রিয়া ব্যবহার করুন:
বার | বাজ |&
পড়ার সময় -p foo; কর...; সম্পন্ন
exec 3>&p; exec 3>&-
শুধুমাত্র পাঠযোগ্য [-p] [স্থিতিমাপ [=মূল্য] ...]
নামযুক্ত পরামিতিগুলির শুধুমাত্র পঠনযোগ্য বৈশিষ্ট্য সেট করে। যদি মান দেওয়া হয়,
বৈশিষ্ট্য সেট করার আগে পরামিতি সেট করা হয়। একবার একটি প্যারামিটার তৈরি করা হয়
শুধুমাত্র-পঠন, এটি আনসেট করা যাবে না এবং এর মান পরিবর্তন করা যাবে না।
কোনো পরামিতি নির্দিষ্ট না থাকলে, শুধুমাত্র পঠন সহ সমস্ত পরামিতির নাম
বৈশিষ্ট্য প্রতি লাইনে একটি মুদ্রিত হয়, যদি না -p বিকল্প ব্যবহার করা হয়, যে ক্ষেত্রে
শুধুমাত্র পাঠযোগ্য সমস্ত পঠনযোগ্য পরামিতি সংজ্ঞায়িত করে, তাদের মান সহ, হল
মুদ্রিত।
বাস্তবপথ [--] নাম
এর সাথে সম্পর্কিত সমাধান করা পরম পাথনাম প্রিন্ট করে নাম। যদি নাম একটি দিয়ে শেষ হয়
স্ল্যাশ ('/'), এটি অস্তিত্বের জন্য এবং এটি একটি ডিরেক্টরি কিনা তাও পরীক্ষা করা হয়েছে;
অন্যথায়, বাস্তবপথ যদি পাথনেমটি বিদ্যমান থাকে বা তৈরি করা যায় তবে 0 প্রদান করে
অবিলম্বে, অর্থাৎ শেষ উপাদান ব্যতীত সবগুলি বিদ্যমান এবং ডিরেক্টরিগুলি।
নামান্তর [--] থেকে থেকে
ফাইলের নাম পরিবর্তন করে থেকে থেকে থেকে. উভয়ই সম্পূর্ণ পথনাম এবং একই ডিভাইসে হওয়া আবশ্যক।
এই বিল্টইন যেখানে জরুরী পরিস্থিতিতে জন্য উদ্দেশ্যে করা হয় /বিন/এমভি অব্যবহারযোগ্য হয়ে যায়, এবং
সরাসরি কল করে নামান্তর(2).
প্রত্যাবর্তন [অবস্থা]
একটি ফাংশন থেকে ফেরত বা . স্ক্রিপ্ট, প্রস্থান অবস্থা সহ অবস্থা। যদি না অবস্থা দেওয়া হয়,
সর্বশেষ নির্বাহিত কমান্ডের প্রস্থান অবস্থা ব্যবহার করা হয়। যদি একটি ফাংশনের বাইরে ব্যবহার করা হয়
or . স্ক্রিপ্ট, এটি হিসাবে একই প্রভাব আছে প্রস্থান। মনে রাখবেন যে ধন্যবাদ প্রোফাইল এবং উভয়ই আচরণ করে
ENV ফাইল হিসেবে . স্ক্রিপ্ট, যখন মূল কর্ন শেল শুধুমাত্র প্রোফাইল হিসাবে ব্যবহার করে .
স্ক্রিপ্ট।
সেট [+-abCefhiklmnprsUuvXx] [+-ও পছন্দ] [+-ক নাম] [--] [ARG ...]
সার্জারির সেট কমান্ড সেট করতে ব্যবহার করা যেতে পারে (-) বা পরিষ্কার (+) শেল বিকল্প, অবস্থানগত সেট
পরামিতি, বা একটি অ্যারে প্যারামিটার সেট করুন। বিকল্পগুলি ব্যবহার করে পরিবর্তন করা যেতে পারে +-ও পছন্দ
সিনট্যাক্স, যেখানে পছন্দ একটি বিকল্পের দীর্ঘ নাম, বা ব্যবহার করে +-চিঠি বাক্য গঠন,
কোথায় চিঠি বিকল্পটির একক অক্ষর নাম (সব বিকল্পের একটি একক অক্ষর নেই
নাম)। নিম্নলিখিত সারণীতে উভয় বিকল্প অক্ষর (যদি তারা বিদ্যমান থাকে) এবং দীর্ঘ নাম তালিকাভুক্ত করে
বিকল্পটি কী করে তার বিবরণ সহ:
-A নাম
অ্যারের প্যারামিটারের উপাদানগুলি সেট করে নাম থেকে ARG ... If -A ব্যবহৃত হয়
অ্যারে রিসেট করা হয় (অর্থাৎ খালি) প্রথমে; যদি +A ব্যবহৃত হয়, প্রথম N উপাদান সেট করা হয়
(যেখানে N হল আর্গুমেন্টের সংখ্যা); বাকিগুলো অস্পর্শিত।
কমান্ডের জন্য একটি বিকল্প সিনট্যাক্স সেট -A foo বিন্যাস -- a b c যা সামঞ্জস্যপূর্ণ
গনুহ সজোরে আঘাত এবং AT&T UNIX দ্বারা সমর্থিত ksh93 হল: foo=(a b গ); foo+=(d e)
-a | -o allexport
এক্সপোর্ট অ্যাট্রিবিউট দিয়ে সব নতুন প্যারামিটার তৈরি করা হয়।
-b | -o অবহিত
কাজের বিজ্ঞপ্তি বার্তাগুলিকে অসিঙ্ক্রোনাসভাবে প্রিন্ট করুন, এর ঠিক আগে না করে
শীঘ্র. শুধুমাত্র কাজ নিয়ন্ত্রণ সক্ষম হলেই ব্যবহৃত হয় (-m).
-C | -o noclobber
বিদ্যমান ফাইলগুলিকে ওভাররাইট করা থেকে প্রতিরোধ > পুনঃনির্দেশ। পরিবর্তে, >| অবশ্যই ব্যবহার করতে হবে
জোর করে ওভাররাইট করা। মনে রাখবেন যে এটি তৈরির জন্য ব্যবহার করা নিরাপদ নয়
একটি চেকের মধ্যে একটি TOCTOU এর কারণে অস্থায়ী ফাইল বা লক ফাইলগুলি একজনকে পুনঃনির্দেশ করার অনুমতি দেয়৷
থেকে আউটপুট আপনার / dev / নাল বা অন্যান্য ডিভাইস ফাইল এমনকি মধ্যে noclobber মোড.
-e | -o ভুলভ্রান্তি
প্রস্থান করুন (ERR ফাঁদ চালানোর পরে) যত তাড়াতাড়ি একটি ত্রুটি দেখা দেয় বা একটি আদেশ
ব্যর্থ হয় (অর্থাৎ একটি অ-শূন্য স্থিতি সহ প্রস্থান)। এটি কমান্ডের ক্ষেত্রে প্রযোজ্য নয়
যার প্রস্থান অবস্থা স্পষ্টভাবে একটি শেল নির্মাণ দ্বারা পরীক্ষা করা হয় যেমন if, পর্যন্ত,
যখন, বা ! বিবৃতি জন্য && অথবা ||, শুধুমাত্র শেষ কমান্ডের অবস্থা
পরীক্ষিত।
-f | -o noglob
ফাইলের নামের প্যাটার্নগুলি প্রসারিত করবেন না।
-h | -o ট্র্যাককল
সমস্ত নির্বাহিত কমান্ডের জন্য ট্র্যাক করা উপনাম তৈরি করুন (দেখুন ওরফে উপরে)। সক্রিয়
অ-ইন্টারেক্টিভ শেলগুলির জন্য ডিফল্টরূপে।
-i | -o ইন্টারেক্টিভ
শেল একটি ইন্টারেক্টিভ শেল। এই বিকল্পটি শুধুমাত্র শেল ব্যবহার করা যেতে পারে
আহ্বান করা হয়। এর অর্থ কী তার বর্ণনার জন্য উপরে দেখুন।
-k | -o শব্দ
প্যারামিটার অ্যাসাইনমেন্টগুলি একটি কমান্ডের যেকোনো জায়গায় স্বীকৃত হয়।
-l | -o লগইন
শেলটি একটি লগইন শেল। এই বিকল্পটি শুধুমাত্র শেল হলেই ব্যবহার করা যেতে পারে
আহ্বান এর অর্থ কী তার বর্ণনার জন্য উপরে দেখুন।
-m | -o মনিটর
কাজ নিয়ন্ত্রণ সক্ষম করুন (ইন্টারেক্টিভ শেলগুলির জন্য ডিফল্ট)।
-n | -o noexec
কোনো কমান্ড কার্যকর করবেন না। স্ক্রিপ্টের সিনট্যাক্স পরীক্ষা করার জন্য দরকারী (উপেক্ষা করা হয়েছে
ইন্টারেক্টিভ হলে)।
-p | -o সুবিধাপ্রাপ্ত
শেল একটি বিশেষ সুবিধাপ্রাপ্ত শেল। এটা স্বয়ংক্রিয়ভাবে সেট করা হয় যদি, যখন শেল
শুরু হয়, আসল UID বা GID কার্যকর UID (EUID) বা GID এর সাথে মেলে না
(EGID), যথাক্রমে। এর অর্থ কী তার বর্ণনার জন্য উপরে দেখুন।
-r | -o সীমাবদ্ধ
শেল একটি সীমাবদ্ধ শেল। এই বিকল্পটি শুধুমাত্র শেল হলেই ব্যবহার করা যেতে পারে
আহ্বান এর অর্থ কী তার বর্ণনার জন্য উপরে দেখুন।
-s | -o stdin
শেল আমন্ত্রণ করার সময় ব্যবহার করা হলে, স্ট্যান্ডার্ড ইনপুট থেকে কমান্ডগুলি পড়া হয়। সেট
স্বয়ংক্রিয়ভাবে যদি শেলটি কোন আর্গুমেন্ট ছাড়াই আহ্বান করা হয়।
কখন -s সঙ্গে ব্যবহার করা হয় সেট কমান্ড এটি নির্দিষ্ট আর্গুমেন্ট হতে কারণ
পজিশনাল প্যারামিটারে (বা অ্যারেতে) বরাদ্দ করার আগে সাজানো হয়েছে নাম, যদি
-A ব্যবহৃত হয়).
-U | -o utf8-মোড
UTF-8 সমর্থন সক্ষম করুন এ গিয়ে emacs সম্পাদনা মোড এবং অভ্যন্তরীণ স্ট্রিং হ্যান্ডলিং
ফাংশন এই পতাকা ডিফল্টরূপে নিষ্ক্রিয়, কিন্তু এটি সেট করে সক্ষম করা যেতে পারে
শেল কমান্ড লাইনে; যদি ইন্টারেক্টিভ শেলগুলির জন্য স্বয়ংক্রিয়ভাবে সক্রিয় হয়
কম্পাইল সময়ে অনুরোধ করা হয়েছে, আপনার সিস্টেম সমর্থন করে সেটলোকেল(Lc_ctype, "") এবং
ঐচ্ছিকরূপে nl_langinfo(কোডসেট), অথবা LC_ALL, LC_CTYPE, বা LANG পরিবেশ
ভেরিয়েবল, এবং এর মধ্যে অন্তত একটি এমন কিছু প্রদান করে যা "UTF-8" বা মেলে
"utf8" কেস-সংবেদনশীলভাবে; এর উপর নির্ভর করে সরাসরি বিল্টইন কলের জন্য
উল্লিখিত পরিবেশ পরিবর্তনশীল; অথবা stdin বা স্ক্রিপ্টের জন্য, যদি ইনপুট হয়
একটি UTF-8 বাইট অর্ডার মার্ক দিয়ে শুরু হয়।
অদূর ভবিষ্যতে, লোকেল ট্র্যাকিং বাস্তবায়িত হবে, যার মানে হল সেট -+ইউ is
POSIX লোকেল-সম্পর্কিত এনভায়রনমেন্ট ভেরিয়েবলের একটি পরিবর্তন হলেই পরিবর্তিত হয়।
-u | -o nounset
"$@" বা "$*" ব্যতীত একটি আনসেট প্যারামিটারের রেফারেন্সিং হিসাবে বিবেচিত হয়
ত্রুটি, যদি না '-', '+', বা '=' মডিফায়ারগুলির একটি ব্যবহার করা হয়।
-v | -o ভার্বোস
শেল ইনপুটকে স্ট্যান্ডার্ড ত্রুটিতে লিখুন যেমন এটি পড়া হয়।
-X | -o markdirs
ফাইলের নাম তৈরির সময় '/' ট্রেইলিং দিয়ে ডিরেক্টরি চিহ্নিত করুন।
-x | -o xtrace
কমান্ড ট্রি প্রিন্ট করুন যখন সেগুলি কার্যকর করা হয়, PS4 এর মানের পূর্বে।
-o bgnice
পটভূমির কাজগুলি কম অগ্রাধিকার দিয়ে চালানো হয়।
-o ব্রেস প্রসারিত
বন্ধনী সম্প্রসারণ সক্ষম করুন (ওরফে বিকল্প)। এটি ডিফল্টরূপে সক্ষম। যদি
অক্ষম, একটি সমান চিহ্নের পরে টিল্ড সম্প্রসারণ একটি পার্শ্ব প্রতিক্রিয়া হিসাবে নিষ্ক্রিয় করা হয়৷
-o Emacs
BRL emacs-এর মতো কমান্ড-লাইন সম্পাদনা সক্ষম করুন (শুধুমাত্র ইন্টারেক্টিভ শেল); দেখা এ গিয়ে emacs
সম্পাদনা মোড.
-o gmacs
gmacs-এর মতো কমান্ড-লাইন সম্পাদনা সক্ষম করুন (শুধুমাত্র ইন্টারেক্টিভ শেল)। বর্তমানে
ট্রান্সপোজ-অক্ষর (^T) সামান্য কাজ করে ছাড়া emacs সম্পাদনার অনুরূপ
ভিন্নভাবে।
-o উপেক্ষা
শেষ-অফ-ফাইল পড়ার সময় শেলটি (সহজে) প্রস্থান করবে না; প্রস্থান অবশ্যই ব্যবহার করতে হবে.
অসীম লুপ এড়াতে, EOF পরপর 13 বার পড়া হলে শেলটি প্রস্থান করবে।
-o inherit-xtrace
রিসেট করবেন না -o xtrace ফাংশন প্রবেশ করার পরে। এটি ডিফল্টরূপে সক্ষম।
-o nohup
একটি লগইন শেল প্রস্থান করার সময় একটি SIGHUP সংকেত দিয়ে চলমান কাজগুলিকে হত্যা করবেন না৷
বর্তমানে ডিফল্টরূপে সেট করা হয়েছে, তবে এটি সামঞ্জস্যপূর্ণ হতে ভবিষ্যতে পরিবর্তিত হতে পারে
AT&T UNIX সহ ksh, যার এই বিকল্প নেই, কিন্তু SIGHUP পাঠায়
সংকেত।
-o nolog
কোন প্রভাব নেই. মূল কর্ন শেলে, এটি ফাংশন সংজ্ঞা থেকে বাধা দেয়
ইতিহাস ফাইলে সংরক্ষণ করা হচ্ছে।
-o শারীরিক
কারণ cd এবং PWD "ভৌতিক" (যেমন ফাইল সিস্টেমের) '..' ব্যবহার করার জন্য কমান্ড
"লজিক্যাল" ডিরেক্টরির পরিবর্তে ডিরেক্টরি (অর্থাৎ শেল '..' পরিচালনা করে, যা
ব্যবহারকারীকে ডিরেক্টরির প্রতীকী লিঙ্কগুলি সম্পর্কে অবহেলা করার অনুমতি দেয়)। দ্বারা সাফ
ডিফল্ট. মনে রাখবেন যে এই বিকল্পটি সেট করা বর্তমান মানকে প্রভাবিত করে না
PWD প্যারামিটার; শুধুমাত্র cd কমান্ড পরিবর্তন PWD. দেখুন cd এবং PWD কমান্ড
আরো বিস্তারিত জানার জন্য উপরে.
-o পাইপফেল
একটি পাইপলাইনের প্রস্থান অবস্থা করুন (যৌক্তিকভাবে পরিপূরক হওয়ার আগে)
ডানদিকের অ-শূন্য ত্রুটির স্তর, বা শূন্য যদি সমস্ত কমান্ড শূন্য দিয়ে প্রস্থান করে।
-o posix
মানদণ্ডের কাছাকাছি আচরণ করুন (দেখুন POSIX মোড বিস্তারিত জানার জন্য). স্বয়ংক্রিয়ভাবে
সক্রিয় করা হয় যদি শেল আহ্বানের বেসনাম "sh" এবং এটি দিয়ে শুরু হয়
স্বয়ংক্রিয় সনাক্তকরণ বৈশিষ্ট্য কম্পাইল করা হয়েছে (মিরবিএসডিতে নয়)। একটি পার্শ্ব প্রতিক্রিয়া হিসাবে, সেটিং
এই পতাকা বন্ধ ব্রেস প্রসারিত মোড, যা ম্যানুয়ালি আবার চালু করা যেতে পারে, এবং
sh মোড (যদি না উভয়ই একই সময়ে সক্ষম হয়)।
-o sh
সক্ষম করা / বিন / SH (kludge) মোড (দেখুন SH মোড) স্বয়ংক্রিয়ভাবে সক্রিয় যদি
শেল আহবানের বেসনাম "sh" দিয়ে শুরু হয় এবং এই স্বয়ংক্রিয় সনাক্তকরণ বৈশিষ্ট্য
কম্পাইল করা হয়েছে (মিরবিএসডিতে নয়)। একটি পার্শ্ব প্রতিক্রিয়া হিসাবে, এই পতাকা সেট করা বন্ধ হয়ে যায়
ব্রেস প্রসারিত মোড, যা ম্যানুয়ালি আবার চালু করা যেতে পারে, এবং posix মোড (যদি না
উভয়ই একই সময়ে সক্ষম)।
-o vi
সক্ষম করা vi(1)-এর মতো কমান্ড-লাইন সম্পাদনা (শুধুমাত্র ইন্টারেক্টিভ শেল)। দেখা Vi
সম্পাদনা মোড ডকুমেন্টেশন এবং সীমাবদ্ধতার জন্য।
-o vi-অসম্পূর্ণ
vi কমান্ড-লাইন সম্পাদনায়, পালানোর সময় কমান্ড এবং ফাইলের নাম সম্পূর্ণ করুন (^[)
কমান্ড মোডে প্রবেশ করা হয়।
-o vi-ট্যাব সম্পূর্ণ
vi কমান্ড-লাইন সম্পাদনায়, ট্যাব (^I) হলে কমান্ড এবং ফাইলের নাম সম্পূর্ণ করুন
সন্নিবেশ মোডে প্রবেশ করা হয়েছে। এটি ডিফল্ট।
-o ভাইরা
কোন প্রভাব নেই. মূল কর্ন শেলে, যদি না ভাইরা সেট করা হয়েছিল, vi কমান্ড-
লাইন মোড দিতে হবে TTY(4) ESC (^[) প্রবেশ করা পর্যন্ত ড্রাইভার কাজ করে।
ধন্যবাদ সবসময় ভাইরাউ মোডে থাকে।
এই বিকল্পগুলি শেলের আহ্বানের উপরও ব্যবহার করা যেতে পারে। বর্তমান সেট
'$-' প্যারামিটারে বিকল্পগুলি (একক অক্ষরের নাম সহ) পাওয়া যাবে। সেট -o সঙ্গে
কোন বিকল্পের নাম সব বিকল্পের তালিকা করবে না এবং প্রতিটি চালু বা বন্ধ কিনা; সেট +o ইচ্ছা
বর্তমানে চালু থাকা সমস্ত বিকল্পের দীর্ঘ নাম প্রিন্ট করুন। ভবিষ্যতের সংস্করণে, সেট
+o POSIX অনুগত আচরণ করবে এবং বর্তমান বিকল্পগুলি পুনরুদ্ধার করতে কমান্ড প্রিন্ট করবে
পরিবর্তে.
অবশিষ্ট আর্গুমেন্ট, যদি থাকে, অবস্থানগত পরামিতি এবং ক্রমানুসারে, নির্ধারিত হয়
অবস্থানগত পরামিতি (যেমন $1, $2, ইত্যাদি)। যদি বিকল্পগুলি '---' দিয়ে শেষ হয় এবং সেখানে
কোন অবশিষ্ট আর্গুমেন্ট নেই, সমস্ত অবস্থানগত পরামিতি সাফ করা হয়। যদি কোন বিকল্প বা
যুক্তি দেওয়া হয়, সব নামের মান মুদ্রিত হয়. অজানা ঐতিহাসিক জন্য
কারণ, একটি একা '-' বিকল্প বিশেষভাবে চিকিত্সা করা হয় - এটি উভয়ই পরিষ্কার করে -v এবং -x
অপশন।
পরিবর্তন [সংখ্যা]
অবস্থানগত পরামিতি সংখ্যা+ + 1, সংখ্যা+2, ইত্যাদির নাম পরিবর্তন করে '1', '2', ইত্যাদি করা হয়েছে।
সংখ্যা ডিফল্ট 1।
ঘুম সেকেন্ড
একটি ন্যূনতম জন্য মৃত্যুদন্ড স্থগিত সেকেন্ড ধনাত্মক দশমিক মান হিসাবে নির্দিষ্ট করা হয়েছে
একটি ঐচ্ছিক ভগ্নাংশের সাথে। সিগন্যাল ডেলিভারি আগে কার্যকর হতে পারে।
উৎস ফাইল [ARG ...]
মত . ("ডট"), বর্তমান কার্যকারী ডিরেক্টরি অনুসন্ধানে যুক্ত করা ছাড়া
পথ (GNU সজোরে আঘাত এক্সটেনশন)।
ঝুলান
শেলটিকে থামায় যেন এটি টার্মিনাল থেকে সাসপেন্ড অক্ষর পেয়েছে। এটা
একটি লগইন শেল স্থগিত করা সম্ভব নয় যদি না অভিভাবক প্রক্রিয়ার সদস্য হয়
একই টার্মিনাল সেশন কিন্তু একটি ভিন্ন প্রক্রিয়া গ্রুপের সদস্য। জেনারেল হিসেবে
নিয়ম, যদি শেলটি অন্য শেল দ্বারা বা এর মাধ্যমে শুরু হয় su(1), এটি স্থগিত করা যেতে পারে।
পরীক্ষা অভিব্যক্তি
[ অভিব্যক্তি ]
পরীক্ষা মূল্যায়ন অভিব্যক্তি এবং সত্য হলে শূন্য স্থিতি প্রদান করে, মিথ্যা হলে 1 বা তার বেশি
1 এর চেয়ে যদি একটি ত্রুটি ছিল। এটি সাধারণত শর্ত কমান্ড হিসাবে ব্যবহৃত হয় if এবং
যখন বিবৃতি প্রতীকী লিঙ্ক সকলের জন্য অনুসরণ করা হয় ফাইল এক্সপ্রেশন ছাড়া -h এবং
-L.
নিম্নলিখিত মৌলিক অভিব্যক্তি উপলব্ধ:
-a ফাইল ফাইল বিদ্যমান।
-b ফাইল ফাইল একটি ব্লক বিশেষ ডিভাইস।
-c ফাইল ফাইল একটি অক্ষর বিশেষ ডিভাইস।
-d ফাইল ফাইল একটি নির্দেশিকা.
-e ফাইল ফাইল বিদ্যমান।
-f ফাইল ফাইল একটি নিয়মিত ফাইল।
-G ফাইল ফাইলএর গ্রুপ হল শেল এর কার্যকরী গ্রুপ আইডি।
-g ফাইল ফাইলএর মোডে সেটগিড বিট সেট আছে।
-H ফাইল ফাইল একটি প্রসঙ্গ নির্ভর ডিরেক্টরি (শুধুমাত্র HP-UX-এ দরকারী)।
-h ফাইল ফাইল একটি প্রতীকী লিঙ্ক।
-k ফাইল ফাইলএর মোড আছে আঠাল(8) বিট সেট।
-L ফাইল ফাইল একটি প্রতীকী লিঙ্ক।
-O ফাইল ফাইলএর মালিক হল শেলের কার্যকরী ব্যবহারকারী আইডি।
-o পছন্দ খোল পছন্দ সেট করা হয়েছে (দেখুন সেট একটি তালিকা জন্য উপরে কমান্ড
বিকল্প)। একটি অ-মানক এক্সটেনশন হিসাবে, যদি বিকল্পটি দিয়ে শুরু হয়
একটি '!', পরীক্ষা বাতিল করা হয়; পরীক্ষা সবসময় ব্যর্থ হয় যদি পছন্দ
বিদ্যমান নেই (সুতরাং [ -o foo -o -o !foo ] যদি এবং শুধুমাত্র সত্য ফেরত দেয়
যদি বিকল্প foo বিন্যাস বিদ্যমান)। [ -o ?foo ] দিয়েও একই অর্জন করা যায়
AT&T UNIX এর মত ksh93. পছন্দ এছাড়াও নেতৃত্বাধীন সংক্ষিপ্ত পতাকা হতে পারে
হয় '-' বা '+' (কোন যৌক্তিক অস্বীকার নেই), উদাহরণস্বরূপ '-x' বা '+x'
'xtrace'-এর পরিবর্তে।
-p ফাইল ফাইল একটি নামযুক্ত পাইপ (FIFO)।
-r ফাইল ফাইল বিদ্যমান এবং পাঠযোগ্য।
-S ফাইল ফাইল ইহা একটি UNIX(4)-ডোমেইন সকেট।
-s ফাইল ফাইল খালি না.
-t fd ফাইল বর্ণনাকারী fd ইহা একটি TTY(4) ডিভাইস।
-u ফাইল ফাইলএর মোডে setuid বিট সেট আছে।
-w ফাইল ফাইল বিদ্যমান এবং লেখার যোগ্য।
-x ফাইল ফাইল বিদ্যমান এবং নির্বাহযোগ্য।
file1 -nt file2 file1 এর থেকে নতুন file2 or file1 বিদ্যমান এবং file2 না.
file1 -ও file2 file1 থেকে পুরানো file2 or file2 বিদ্যমান এবং file1 না.
file1 -এফ file2 file1 হিসাবে একই ফাইল file2.
স্ট্রিং স্ট্রিং অ-শূন্য দৈর্ঘ্য আছে।
-n স্ট্রিং স্ট্রিং খালি না.
-z স্ট্রিং স্ট্রিং খালি.
স্ট্রিং = স্ট্রিং স্ট্রিং সমান।
স্ট্রিং == স্ট্রিং স্ট্রিং সমান।
স্ট্রিং > স্ট্রিং প্রথম স্ট্রিং অপারেন্ড দ্বিতীয় স্ট্রিং অপারেন্ডের চেয়ে বড়।
স্ট্রিং < স্ট্রিং প্রথম স্ট্রিং অপারেন্ড দ্বিতীয় স্ট্রিং অপারেন্ডের চেয়ে কম।
স্ট্রিং != স্ট্রিং স্ট্রিং সমান নয়।
সংখ্যা -eq সংখ্যা সংখ্যা সমান তুলনা.
সংখ্যা - হয় সংখ্যা সংখ্যা সমান নয়।
সংখ্যা -জী সংখ্যা সংখ্যার তুলনায় বড় বা সমান।
সংখ্যা -জিটি সংখ্যা সংখ্যার তুলনায় বড়।
সংখ্যা -লে সংখ্যা সংখ্যার তুলনা কম বা সমান।
সংখ্যা -lt সংখ্যা সংখ্যা কম তুলনা.
উপরোক্ত মৌলিক অভিব্যক্তি, যেখানে বাইনারি অপারেটরদের অগ্রাধিকার রয়েছে
অপারেটর, নিম্নলিখিত অপারেটরগুলির সাথে একত্রিত হতে পারে (ক্রমবর্ধমান ক্রমে তালিকাভুক্ত
অগ্রাধিকার):
expr -o expr লজিক্যাল বা.
expr -a expr লজিক্যাল এবং.
! expr লজিক্যাল নয়।
(এক্সপ্র) গ্রুপিং।
মনে রাখবেন যে একটি সংখ্যা আসলে একটি গাণিতিক অভিব্যক্তি হতে পারে, যেমন একটি গাণিতিক
পদ বা একটি পূর্ণসংখ্যা ভেরিয়েবলের নাম:
x=1; [ "x" -eq 1 ] সত্যে মূল্যায়ন করে
উল্লেখ্য, কিছু বিশেষ নিয়ম প্রযোজ্য (POSIX এর সৌজন্যে) সংখ্যা হলে
যুক্তি পরীক্ষা বা বন্ধনীর ভিতরে [ ... ] পাঁচের কম হয়: যদি নেতৃত্ব দেয় '!'
আর্গুমেন্ট এমনভাবে ছিনতাই করা যেতে পারে যে শুধুমাত্র এক থেকে তিনটি আর্গুমেন্ট থাকে, তারপর
নিম্ন তুলনা মৃত্যুদন্ড কার্যকর করা হয়; (XSI কে ধন্যবাদ) বন্ধনী \( ... \) নিম্ন চার- এবং
তিন-আর্গুমেন্ট ফর্ম থেকে যথাক্রমে দুই- এবং এক-আর্গুমেন্ট ফর্ম; তিন-যুক্তি
ফর্মগুলি শেষ পর্যন্ত বাইনারি ক্রিয়াকলাপ পছন্দ করে, তারপরে অস্বীকার এবং বন্ধনী
কমানো দুই- এবং চার-আর্গুমেন্ট ফর্মগুলি বন্ধনী দ্বারা অনুসরণ করা অস্বীকারকে পছন্দ করে; দ্য
এক-আর্গুমেন্ট ফর্ম সবসময় বোঝায় -n.
বিঃদ্রঃ: একটি সাধারণ ভুল হল "if [ $foo = bar ]" ব্যবহার করা যা ব্যর্থ হলে প্যারামিটার "foo"
NULL বা আনসেট, যদি এতে এমবেডেড স্পেস থাকে (যেমন IFS অক্টেটস), অথবা যদি এটি একটি unary হয়
'!' মত অপারেটর অথবা '-n' পরিবর্তে “if [ x"$foo" = x"bar" ]” এর মত পরীক্ষাগুলি ব্যবহার করুন, বা
ডবল-বন্ধনী অপারেটর “যদি [[ $foo = বার ]]” বা, প্যাটার্ন ম্যাচিং এড়াতে (দেখুন [[
উপরে): “যদি [[ $foo = "$bar" ]]”
সার্জারির [[ ... ]] কনস্ট্রাক্ট শুধুমাত্র ব্যবহার করার জন্য আরও নিরাপদ নয়, প্রায়শই দ্রুততর।
সময় [-p] [পাইপলাইন]
যদি একটি পাইপলাইন দেওয়া হয়, পাইপলাইন চালানোর জন্য ব্যবহৃত সময় রিপোর্ট করা হয়। যদি না
পাইপলাইন দেওয়া হয়, তারপর ব্যবহারকারী এবং সিস্টেম সময় শেল নিজেই ব্যবহার করে, এবং সব
এটি শুরু হওয়ার পর থেকে যে কমান্ডগুলি চালানো হয়েছে, রিপোর্ট করা হয়েছে৷ রিপোর্ট করা হয়
বাস্তব সময় (শুরু থেকে শেষ পর্যন্ত অতিবাহিত সময়), ব্যবহারকারীর CPU সময় (সময় কাটানো
ব্যবহারকারী মোডে চলছে), এবং সিস্টেম CPU সময় (কার্ণেল মোডে চলার সময় ব্যয় করা হয়েছে)।
টাইমস স্ট্যান্ডার্ড ত্রুটি রিপোর্ট করা হয়; আউটপুট ফরম্যাট হল:
0m0.00s বাস্তব 0m0.00s ব্যবহারকারী 0m0.00s সিস্টেম
যদি -p বিকল্পটি দেওয়া হয়েছে আউটপুটটি কিছুটা দীর্ঘ:
বাস্তব 0.00
ব্যবহারকারী 0.00
sys 0.00
এটি নির্দিষ্ট করার জন্য একটি ত্রুটি -p বিকল্প যদি না পাইপলাইন একটি সহজ কমান্ড।
সাধারণ ত্রুটির সাধারণ পুনঃনির্দেশগুলি এর আউটপুটকে প্রভাবিত করে না সময় কমান্ড প্রয়োগ করুন:
$ time sleep 1 2>file
$ { সময় ঘুম 1; } 2> ফাইল
প্রথম কমান্ডের সময়গুলি "ফাইল" এ যায় না, তবে দ্বিতীয় কমান্ডের সময়গুলি যায়।
বার শেল এবং প্রসেস উভয় দ্বারা ব্যবহৃত জমে থাকা ব্যবহারকারী এবং সিস্টেমের সময়গুলি প্রিন্ট করুন
যে শেলটি শুরু হয়েছে যা বেরিয়ে গেছে। আউটপুট ফরম্যাট হল:
0m0.00s 0m0.00s
0m0.00s 0m0.00s
ফাঁদ n [সংকেত ...]
যদি প্রথম অপারেন্ডটি একটি দশমিক স্বাক্ষরবিহীন পূর্ণসংখ্যা হয় তবে এটি সমস্ত নির্দিষ্ট সংকেত পুনরায় সেট করে
ডিফল্ট অ্যাকশনে, অর্থাৎ কল করার মতই ফাঁদ একটি বিয়োগ চিহ্ন সহ ('-') হিসাবে
ক্রীড়াশিক্ষক, যুক্তি দ্বারা অনুসরণ (n [সংকেত ...]), যার সবগুলোই হিসেবে ধরা হয়
সংকেত।
ফাঁদ [ক্রীড়াশিক্ষক সংকেত ...]
একটি ট্র্যাপ হ্যান্ডলার সেট করে যা নির্দিষ্ট করা হলে কার্যকর করা হবে সংকেতগুলি হয়
লাভ করেন। ক্রীড়াশিক্ষক হয় একটি খালি স্ট্রিং, নির্দেশ করে যে সংকেতগুলি হতে হবে৷
উপেক্ষা করা হয়েছে, একটি বিয়োগ চিহ্ন ('-'), নির্দেশ করে যে ডিফল্ট পদক্ষেপ নেওয়া হবে
সংকেত (দেখুন সংকেত(3)), অথবা শেল কমান্ড সম্বলিত একটি স্ট্রিং এ নির্বাহ করতে হবে
প্রথম সুযোগ (অর্থাৎ যখন বর্তমান কমান্ড সম্পূর্ণ হয়, বা মুদ্রণের আগে
পরবর্তী PS1 প্রম্পট) একটি সংকেত প্রাপ্তির পরে। সংকেত একটি নাম
সংকেত (যেমন পাইপ বা ALRM) বা সংকেতের সংখ্যা (দেখুন বধ -l হুকুম
উপরে)।
দুটি বিশেষ সংকেত রয়েছে: EXIT (0 নামেও পরিচিত), যা কার্যকর করা হয় যখন
শেল প্রস্থান করতে চলেছে, এবং ERR, যা একটি ত্রুটি হওয়ার পরে কার্যকর করা হয়; একটি ত্রুটি হয়
কিছু যে শেল প্রস্থান করতে হবে যদি সেট -e or সেট -o ভুলভ্রান্তি পছন্দ
স্থাপন করা হয়েছে. EXIT হ্যান্ডলারগুলি শেষ সম্পাদিত পরিবেশে কার্যকর করা হয়
কমান্ড।
নোট করুন যে, অ-ইন্টারেক্টিভ শেলগুলির জন্য, সিগন্যালের জন্য ট্র্যাপ হ্যান্ডলার পরিবর্তন করা যাবে না
শেল শুরু হওয়ার সময় যেগুলি উপেক্ষা করা হয়েছিল।
কোন যুক্তি ছাড়া, খোলস থেকে যে ফাঁদ সেট করা হয়েছে বর্তমান অবস্থা
start একটি সিরিজ হিসাবে দেখানো হয়েছে ফাঁদ আদেশ উল্লেখ্য যে এর আউটপুট ফাঁদ না পারেন
দরকারীভাবে অন্য প্রক্রিয়ায় পাইপ করা হবে (ফাঁদগুলি সাফ করা হয়েছে তার একটি নিদর্শন
যখন সাবপ্রসেস তৈরি করা হয়)।
আসল কর্ন শেলের ডিবাগ ফাঁদ এবং এর পরিচালনা এবং EXIT ফাঁদ
ফাংশন এখনও বাস্তবায়িত হয় না.
সত্য একটি কমান্ড যা শূন্য মান সহ প্রস্থান করে।
বিশ্বব্যাপী [[+-alpnrtUux] [-L[n]] [-R[n]] [-Z[n]] [-i[n]] | -f [-টাক্স]] [নাম [=মূল্য] ...]
টাইপসেট [[+-alpnrtUux] [-এলআরজেড[n]] [-i[n]] | -f [-টাক্স]] [নাম [=মূল্য] ...]
প্রদর্শন বা সেট প্যারামিটার বৈশিষ্ট্য. সঙ্গে নেই নাম আর্গুমেন্ট, প্যারামিটার বৈশিষ্ট্য
প্রদর্শিত হয়; যদি কোন বিকল্প ব্যবহার না করা হয়, তাহলে সমস্ত পরামিতির বর্তমান বৈশিষ্ট্যগুলি হল
হিসাবে মুদ্রিত টাইপসেট আদেশ; যদি একটি বিকল্প দেওয়া হয় (বা '-' বিকল্প অক্ষর ছাড়াই),
সমস্ত পরামিতি এবং নির্দিষ্ট বৈশিষ্ট্য সহ তাদের মান মুদ্রিত হয়; যদি বিকল্প
'+' দিয়ে প্রবর্তন করা হয়, প্যারামিটার মান মুদ্রিত হয় না।
If নাম আর্গুমেন্ট দেওয়া হয়, নাম দেওয়া প্যারামিটারের অ্যাট্রিবিউট সেট করা হয় (-) বা
পরিষ্কার (+) প্যারামিটারের জন্য মান ঐচ্ছিকভাবে নির্দিষ্ট করা যেতে পারে। জন্য নাম[*], দ্য
পরিবর্তন সমগ্র অ্যারেকে প্রভাবিত করে, এবং কোনো মান নির্দিষ্ট করা যাবে না।
If টাইপসেট একটি ফাংশনের ভিতরে ব্যবহার করা হয়, নির্দিষ্ট করা কোনো পরামিতি স্থানীয়করণ করা হয়। এই
অন্যথায় অভিন্ন দ্বারা করা হয় না বিশ্বব্যাপী. বিঃদ্রঃ: এই যে মানে ধন্যবাদ 's বিশ্বব্যাপী
কমান্ড হয় না অন্যান্য প্রোগ্রামিং ভাষার সমতুল্য' কারণ এটি অনুমতি দেয় না a
সত্যিই বিশ্বব্যাপী সুযোগে একটি প্যারামিটার অ্যাক্সেস করার জন্য অন্য ফাংশন থেকে ফাংশন কল করা হয়,
কিন্তু শুধুমাত্র স্থানীয় সুযোগে একটি অ্যাক্সেস করা বাধা দেয়।
কখন -f ব্যবহৃত হয়, টাইপসেট ফাংশনের বৈশিষ্ট্যের উপর কাজ করে। সঙ্গে
পরামিতি, যদি না নাম যুক্তি দেওয়া হয়, ফাংশন তাদের মান সঙ্গে তালিকাভুক্ত করা হয়
(অর্থাৎ সংজ্ঞা) যদি না বিকল্পগুলি '+' দিয়ে প্রবর্তন করা হয়, যে ক্ষেত্রে শুধুমাত্র
ফাংশন নাম রিপোর্ট করা হয়.
-a সূচীকৃত অ্যারের বৈশিষ্ট্য।
-f ফাংশন মোড। এর পরিবর্তে ফাংশন এবং তাদের বৈশিষ্ট্যগুলি প্রদর্শন বা সেট করুন
প্যারামিটার।
-i[n] পূর্ণসংখ্যা বৈশিষ্ট্য। n পূর্ণসংখ্যা প্রদর্শন করার সময় ব্যবহার করার জন্য ভিত্তি নির্দিষ্ট করে
(যদি নির্দিষ্ট না করা হয়, প্রথম অ্যাসাইনমেন্টে দেওয়া বেস ব্যবহার করা হয়)।
এই বৈশিষ্ট্য সহ পরামিতিগুলি পাটিগণিত সহ মান বরাদ্দ করা যেতে পারে
অভিব্যক্তি
-L[n] Left justify attribute. n ক্ষেত্রের প্রস্থ নির্দিষ্ট করে। যদি n নির্দিষ্ট করা নেই,
একটি প্যারামিটারের বর্তমান প্রস্থ (বা এটির প্রথম নির্ধারিত মানের প্রস্থ)
ব্যবহৃত হয়. লিডিং হোয়াইটস্পেস (এবং শূন্য, যদি এর সাথে ব্যবহার করা হয় -Z বিকল্প) হয়
ছিনতাই যদি প্রয়োজন হয়, মানগুলি হয় ছোট করা হয় বা ফিট করার জন্য স্পেস প্যাড করা হয়
ক্ষেত্রের প্রস্থ।
-l লোয়ার কেস অ্যাট্রিবিউট। মানগুলির সমস্ত বড় হাতের অক্ষর রূপান্তরিত হয়
ছোট হাতের অক্ষর (মূল কর্ন শেলে, এই পরামিতিটির অর্থ "দীর্ঘ পূর্ণসংখ্যা"
যখন এর সাথে ব্যবহার করা হয় -i বিকল্প।)
-n একটি বাউন্ড ভেরিয়েবল তৈরি করুন (নাম রেফারেন্স): ভেরিয়েবলের যেকোনো অ্যাক্সেস নাম
পরিবর্তনশীল অ্যাক্সেস করবে মূল্য বর্তমান সুযোগে (এটি থেকে ভিন্ন
AT&T UNIX ksh93!) পরিবর্তে. এছাড়াও AT&T UNIX থেকে আলাদা ksh93 তাই কি
মূল্য সময় অলসভাবে মূল্যায়ন করা হয় নাম অ্যাক্সেস করা হয়। এই দ্বারা ব্যবহার করা যেতে পারে
ভেরিয়েবল অ্যাক্সেস করার ফাংশন যার নাম পরিবর্তে প্যারামিটার হিসাবে পাস করা হয়
ব্যবহারের স্পষ্ট.
-p প্রিন্ট সম্পূর্ণ টাইপসেট কমান্ড যা গুণাবলী পুনরায় তৈরি করতে ব্যবহার করা যেতে পারে
এবং প্যারামিটারের মান।
-R[n] রাইট ন্যায্যতা বৈশিষ্ট্য. n ক্ষেত্রের প্রস্থ নির্দিষ্ট করে। যদি n এটি না
নির্দিষ্ট করা হয়েছে, একটি প্যারামিটারের বর্তমান প্রস্থ (বা এর প্রথমটির প্রস্থ
নির্ধারিত মান) ব্যবহার করা হয়। পিছনের হোয়াইটস্পেস ছিনতাই করা হয়েছে। যদি প্রয়োজন হয় তাহলে,
মানগুলি হয় অগ্রণী অক্ষর থেকে ছিনিয়ে নেওয়া হয় বা সেগুলি তৈরি করার জন্য স্পেস প্যাড করা হয়
ক্ষেত্রের প্রস্থ মাপসই.
-r শুধুমাত্র পাঠযোগ্য বৈশিষ্ট্য। এই বৈশিষ্ট্য সহ পরামিতি বরাদ্দ নাও হতে পারে
অথবা আনসেট। একবার এই বৈশিষ্ট্যটি সেট হয়ে গেলে, এটি বন্ধ করা যাবে না।
-t ট্যাগ বৈশিষ্ট্য. খোলের কোন অর্থ নেই; অ্যাপ্লিকেশন ব্যবহারের জন্য প্রদান করা হয়।
ফাংশনের জন্য, -t ট্রেস বৈশিষ্ট্য। যখন ট্রেস সঙ্গে ফাংশন
বৈশিষ্ট্য মৃত্যুদন্ড কার্যকর করা হয়, xtrace (-x) শেল বিকল্পটি সাময়িকভাবে চালু করা হয়েছে
উপর.
-U স্বাক্ষরবিহীন পূর্ণসংখ্যা বৈশিষ্ট্য। পূর্ণসংখ্যাগুলি স্বাক্ষরবিহীন মান হিসাবে মুদ্রিত হয় (একত্রিত করুন
সাথে -i বিকল্প)। এই বিকল্পটি মূল কর্ন শেলে নেই।
-u বড় হাতের বৈশিষ্ট্য। মানগুলির সমস্ত ছোট হাতের অক্ষর রূপান্তরিত হয়
বড় হাতের অক্ষর (মূল কর্ন শেলে, এই পরামিতিটির অর্থ "আনসাইন করা হয়েছে
integer” এর সাথে ব্যবহার করা হলে -i বিকল্প যার অর্থ বড় হাতের অক্ষর হবে
10 এর বেশি ঘাঁটির জন্য কখনই ব্যবহার করা যাবে না। দেখুন -U বিকল্প।)
ফাংশনের জন্য, -u অনির্ধারিত বৈশিষ্ট্য। দেখা কার্যাবলী জন্য উপরে
এর প্রভাব।
-x রপ্তানি বৈশিষ্ট্য. প্যারামিটার (বা ফাংশন) এর পরিবেশে স্থাপন করা হয়
যে কোন এক্সিকিউটেড কমান্ড। রপ্তানি ফাংশন এখনও বাস্তবায়িত হয় না.
-Z[n] জিরো ফিল অ্যাট্রিবিউট। সঙ্গে মিলিত না হলে -L, এই হিসাবে একই -R, ছাড়া
স্পেস প্যাডিংয়ের পরিবর্তে শূন্য প্যাডিং ব্যবহার করা হয়। পূর্ণসংখ্যার জন্য, সংখ্যা
পরিবর্তে বেস প্যাড করা হয়.
যদি কোন -i, -L, -l, -R, -U, -u, বা -Z বিকল্পগুলি পরিবর্তিত হয়, এই থেকে অন্য সব
সেট সাফ করা হয়, যদি না সেগুলি একই কমান্ড লাইনে দেওয়া হয়।
সীমা [-aBCcdefHilMmnOPpqrSsTtVvw] [মূল্য]
প্রদর্শন বা সেট প্রক্রিয়া সীমা. যদি কোন বিকল্প ব্যবহার না করা হয়, ফাইলের আকার সীমা (-f) হয়
অনুমান মূল্য, যদি নির্দিষ্ট করা হয়, হয় একটি গাণিতিক অভিব্যক্তি বা শব্দ হতে পারে
"সীমাহীন"। সীমাগুলি শেল এবং শেল দ্বারা তৈরি যে কোনও প্রক্রিয়াকে প্রভাবিত করে
একটি সীমা আরোপ করার পরে। মনে রাখবেন যে কিছু সিস্টেম সীমাবদ্ধতার অনুমতি নাও দিতে পারে
তারা সেট করা হয় একবার বৃদ্ধি. এছাড়াও নোট করুন যে উপলব্ধ সীমা ধরনের সিস্টেম হয়
নির্ভরশীল - কিছু সিস্টেম আছে শুধুমাত্র -f সীমা।
-a সমস্ত সীমা প্রদর্শন; যদি না -H ব্যবহার করা হয়, নরম সীমা প্রদর্শিত হয়।
-B n সকেট বাফার আকার সেট করুন n কিবিবাইট
-C n ক্যাশে করা থ্রেডের সংখ্যা সেট করুন n.
-c n একটি আকার সীমা আরোপ করুন n মূল ডাম্পের আকারে ব্লক।
-d n একটি আকার সীমা আরোপ করুন n ডেটা এলাকার আকারের উপর কিবিবাইট।
-e n সর্বোচ্চ সুন্দরতা সেট করুন n.
-f n একটি আকার সীমা আরোপ করুন n শেল এবং এর শিশু দ্বারা লিখিত ফাইলগুলিতে ব্লক
প্রসেস (যে কোনো আকারের ফাইল পড়া যেতে পারে)।
-H শুধুমাত্র হার্ড সীমা সেট করুন (ডিফল্ট হল হার্ড এবং নরম উভয় সীমা সেট করা)।
-i n মুলতুবি সংকেত সংখ্যা সেট করুন n.
-l n এর একটি সীমা আরোপ করুন n লক করা (তারযুক্ত) শারীরিক মেমরির পরিমাণের উপর কিবিবাইট।
-M n AIO লক করা মেমরিতে সেট করুন n কিবিবাইট
-m n এর একটি সীমা আরোপ করুন n ব্যবহৃত শারীরিক মেমরির পরিমাণের উপর কিবিবাইট।
-n n এর একটি সীমা আরোপ করুন n ফাইল বর্ণনাকারী যা একবারে খোলা যেতে পারে।
-O n AIO অপারেশনের সংখ্যা সেট করুন n.
-P n প্রতি প্রক্রিয়া থ্রেড সংখ্যা সীমিত n.
-p n এর একটি সীমা আরোপ করুন n যে কোনো এক সময়ে ব্যবহারকারী দ্বারা চালানো যেতে পারে যে প্রক্রিয়া.
-q n POSIX বার্তা সারির আকার সীমিত করুন n বাইট।
-r n সর্বাধিক রিয়েল-টাইম অগ্রাধিকার সেট করুন n.
-S শুধুমাত্র নরম সীমা সেট করুন (ডিফল্ট হল হার্ড এবং নরম উভয় সীমা সেট করা)।
-s n একটি আকার সীমা আরোপ করুন n স্ট্যাক এলাকার আকারের উপর কিবিবাইট।
-T n একটি সময় সীমা আরোপ করুন n বাস্তব সেকেন্ড প্রতিটি প্রক্রিয়া দ্বারা ব্যবহার করা হবে.
-t n একটি সময় সীমা আরোপ করুন n প্রত্যেকের দ্বারা ব্যবহার করার জন্য ব্যবহারকারী মোডে খরচ করা CPU সেকেন্ড
প্রক্রিয়া।
-V n হাইকুতে vnode মনিটরের সংখ্যা সেট করুন n.
-v n এর একটি সীমা আরোপ করুন n ভার্চুয়াল মেমরির পরিমাণে কিবিবাইট (ঠিকানার স্থান)
ব্যবহার করা হয়েছে।
-w n এর একটি সীমা আরোপ করুন n ব্যবহৃত অদলবদল স্থানের পরিমাণের উপর কিবিবাইট।
যতদূর সম্ভব সীমা উদ্বিগ্ন, একটি ব্লক 512 বাইট।
উমস্ক [-S] [মাস্ক]
ফাইল অনুমতি তৈরির মাস্ক বা উমাস্ক প্রদর্শন বা সেট করুন (দেখুন উমস্ক(2))। যদি -S
বিকল্প ব্যবহার করা হয়, প্রদর্শিত মুখোশ বা সেট প্রতীকী; অন্যথায়, এটি একটি অক্টাল
সংখ্যা।
সাংকেতিক মুখোশগুলি তাদের দ্বারা ব্যবহৃত হয় chmod(1)। যখন ব্যবহার করা হয়, তারা কি বর্ণনা করে
অনুমতিগুলি উপলব্ধ করা যেতে পারে (অক্টাল মাস্কের বিপরীতে যেখানে একটি সেট বিট মানে
সংশ্লিষ্ট বিট সাফ করতে হবে)। উদাহরণস্বরূপ, “ug=rwx,o=” মাস্ককে এভাবে সেট করে
ফাইলগুলি "অন্যদের" দ্বারা পঠনযোগ্য, লেখার যোগ্য বা সম্পাদনযোগ্য হবে না এবং এটি সমতুল্য
(বেশিরভাগ সিস্টেমে) অক্টাল মাস্ক "007" থেকে।
ইউনালিয়াস [-adt] [নাম ...]
প্রদত্ত নামের উপনামগুলি সরানো হয়েছে৷ যদি -a বিকল্প ব্যবহার করা হয়, সমস্ত উপনাম
অপসারণ করা হয় যদি -t or -d অপশন ব্যবহার করা হয়, নির্দেশিত অপারেশন বাহিত হয়
যথাক্রমে ট্র্যাক করা বা ডিরেক্টরি উপনামে আউট।
আনসেট করা [-fv] স্থিতিমাপ ...
নামযুক্ত প্যারামিটারগুলি আনসেট করুন (-v, ডিফল্ট) বা ফাংশন (-f)। সঙ্গে স্থিতিমাপ[*],
গুণাবলী রাখা হয়, শুধুমাত্র মান সেট করা হয় না।
প্রস্থান স্থিতি অ-শূন্য হয় যদি কোনো প্যারামিটারে শুধুমাত্র-পঠনযোগ্য বৈশিষ্ট্য থাকে
সেট, অন্যথায় শূন্য।
অপেক্ষা করুন [কাজ ...]
নির্দিষ্ট কাজ(গুলি) শেষ হওয়ার জন্য অপেক্ষা করুন। এর প্রস্থান অবস্থা অপেক্ষা করুন শেষ যে
নির্দিষ্ট কাজ; শেষ কাজ একটি সংকেত দ্বারা নিহত হলে, প্রস্থান অবস্থা 128 + the
সংকেতের সংখ্যা (দেখুন বধ -l প্রস্থান অবস্থা উপরে); যদি শেষ নির্দিষ্ট কাজ করতে না পারে
খুঁজে পাওয়া যায় (কারণ এটি কখনও বিদ্যমান ছিল না, বা ইতিমধ্যে শেষ হয়ে গেছে), এর প্রস্থান অবস্থা অপেক্ষা করুন
হল 127. দেখুন কাজ নিয়ন্ত্রণ এর বিন্যাসের জন্য নীচে কাজ. অপেক্ষা করুন সংকেত হলে ফিরে আসবে
যার জন্য একটি ফাঁদ সেট করা হয়েছে, অথবা যদি একটি SIGHUP, SIGINT, বা SIGQUIT সংকেত পাওয়া যায়
গৃহীত হয়.
যদি কোন চাকরি নির্দিষ্ট না থাকে, অপেক্ষা করুন বর্তমানে চলমান সমস্ত চাকরির জন্য অপেক্ষা করে (যদি থাকে)
শেষ করুন এবং একটি শূন্য অবস্থা দিয়ে প্রস্থান করুন। যদি কাজ পর্যবেক্ষণ সক্ষম করা হয়, সমাপ্তি
কাজের অবস্থা মুদ্রিত হয় (যখন কাজগুলি স্পষ্টভাবে নির্দিষ্ট করা হয় তখন এটি হয় না)।
যেখান থেকে [-pv] [নাম ...]
ছাড়া -v বিকল্প, এটি হিসাবে একই হুকুম -v, উপনাম ছাড়া মুদ্রিত হয় না
alias কমান্ড হিসাবে। সঙ্গে -v বিকল্প, এটি ঠিক একই রকম হুকুম -V. মধ্যে
উভয় ক্ষেত্রে, -p বিকল্পটি ভিন্ন: অনুসন্ধানের পথটি প্রভাবিত হয় না যেখান থেকেকিন্তু
অনুসন্ধান পথের মধ্যে সীমাবদ্ধ।
কাজ নিয়ন্ত্রণ
জব কন্ট্রোল বলতে শেল এর কাজগুলিকে নিরীক্ষণ এবং নিয়ন্ত্রণ করার ক্ষমতা বোঝায় যা প্রক্রিয়া বা
কমান্ড বা পাইপলাইনের জন্য তৈরি প্রক্রিয়ার গ্রুপ। সর্বনিম্ন, শেল ট্র্যাক রাখে
পটভূমির অবস্থা (অর্থাৎ অ্যাসিঙ্ক্রোনাস) চাকরি যা বর্তমানে বিদ্যমান; এই
তথ্য ব্যবহার করে প্রদর্শন করা যেতে পারে কাজ আদেশ যদি কাজ নিয়ন্ত্রণ সম্পূর্ণরূপে সক্ষম হয়
(ব্যবহার সেট -m or সেট -o মনিটর), যেমন এটি ইন্টারেক্টিভ শেলগুলির জন্য, একটি কাজের প্রক্রিয়া
তাদের নিজস্ব প্রক্রিয়া গ্রুপে স্থাপন করা হয়. সাসপেন্ড টাইপ করে ফোরগ্রাউন্ড কাজ বন্ধ করা যেতে পারে
টার্মিনাল থেকে অক্ষর (সাধারণত ^Z), কাজগুলি অগ্রভাগে আবার শুরু করা যেতে পারে বা
ব্যাকগ্রাউন্ড ব্যবহার করে fg এবং bg কমান্ড, এবং টার্মিনালের অবস্থা সংরক্ষিত বা পুনরুদ্ধার করা হয়
যখন একটি অগ্রভাগের কাজ যথাক্রমে বন্ধ বা পুনরায় চালু করা হয়।
মনে রাখবেন যে শুধুমাত্র কমান্ড যা প্রক্রিয়া তৈরি করে (যেমন অ্যাসিঙ্ক্রোনাস কমান্ড, সাবশেল
কমান্ড, এবং নন-বিল্ট-ইন, নন-ফাংশন কমান্ড) বন্ধ করা যেতে পারে; আদেশ মত পড়া না পারেন
হও।
যখন একটি কাজ তৈরি করা হয়, এটি একটি কাজের নম্বর বরাদ্দ করা হয়। ইন্টারেক্টিভ শেল জন্য, এই সংখ্যা হয়
"[..]" এর ভিতরে প্রিন্ট করা হয়, তারপরে কাজের প্রসেসগুলির প্রসেস আইডি যখন একটি
অ্যাসিঙ্ক্রোনাস কমান্ড চালানো হয়। একটি কাজের উল্লেখ করা যেতে পারে bg, fg, কাজ, বধ, এবং অপেক্ষা করুন
কমান্ড পাইপলাইনে শেষ প্রক্রিয়ার প্রক্রিয়া আইডি দ্বারা হয় (যেমন সংরক্ষিত আছে
দ্য $! প্যারামিটার) বা শতাংশ চিহ্ন ('%') সহ কাজের নম্বরের উপসর্গ দিয়ে। অন্যান্য শতাংশ
ক্রমগুলিও কাজের উল্লেখ করতে ব্যবহার করা যেতে পারে:
%+ | %% | % অতি সম্প্রতি বন্ধ হওয়া চাকরি, অথবা, যদি কোনো বন্ধ কাজ না থাকে, তাহলে সবচেয়ে পুরনো
চলমান কাজ
%- যে কাজ হবে %+ কাজ যদি পরেরটির অস্তিত্ব না থাকে।
%n কাজের নম্বর সহ চাকরি n.
%?স্ট্রিং স্ট্রিং ধারণকারী তার কমান্ড সহ কাজ স্ট্রিং (যদি একটি ত্রুটি ঘটে
একাধিক চাকরি মিলেছে)।
%স্ট্রিং স্ট্রিং দিয়ে শুরু তার কমান্ড সহ কাজ স্ট্রিং (যদি একটি ত্রুটি ঘটে
একাধিক চাকরি মিলেছে)।
যখন একটি কাজের অবস্থা পরিবর্তন হয় (যেমন একটি ব্যাকগ্রাউন্ড কাজ শেষ হয় বা ফোরগ্রাউন্ড কাজ বন্ধ হয়ে যায়),
শেল নিম্নলিখিত স্থিতি তথ্য মুদ্রণ করে:
[সংখ্যা] পতাকা অবস্থা হুকুম
কোথায়...
সংখ্যা চাকরির কাজের সংখ্যা;
পতাকা '+' বা '-' অক্ষর থাকলে কাজটি হয় %+ or %- কাজ, যথাক্রমে, বা স্থান
যদি তা না হয়;
অবস্থা কাজের বর্তমান অবস্থা নির্দেশ করে এবং হতে পারে:
সম্পন্ন [সংখ্যা]
চাকরি ছেড়ে দিল। সংখ্যা চাকরির প্রস্থান অবস্থা যা বাদ দেওয়া হয়
যদি স্থিতি শূন্য হয়।
চলমান কাজটি বন্ধ বা প্রস্থান করা হয়নি (মনে রাখবেন যে দৌড়ানো হয় না
অগত্যা মানে CPU সময় গ্রাস করা - প্রক্রিয়াটি ব্লক করা যেতে পারে
কিছু ঘটনার জন্য অপেক্ষা)।
বন্ধ [সংকেত]
ইঙ্গিত দ্বারা কাজ বন্ধ করা হয় সংকেত (যদি কোন সংকেত দেওয়া না হয়,
SIGTSTP দ্বারা কাজ বন্ধ করা হয়েছে)।
সংকেত-বর্ণনা ["মূল পরিত্যক্ত"]
কাজটি একটি সংকেত দ্বারা নিহত হয়েছিল (যেমন মেমরি ফল্ট, হ্যাংআপ); ব্যবহার বধ -l
সংকেত বর্ণনার একটি তালিকার জন্য। "কোর ডাম্পড" বার্তাটি নির্দেশ করে
প্রক্রিয়াটি একটি মূল ফাইল তৈরি করেছে।
হুকুম কমান্ড যা প্রক্রিয়া তৈরি করেছে। যদি একাধিক প্রক্রিয়া থাকে
কাজ, প্রতিটি প্রক্রিয়া তার দেখানো একটি লাইন থাকবে হুকুম এবং সম্ভবত তার অবস্থা, যদি
এটি পূর্ববর্তী প্রক্রিয়ার অবস্থা থেকে ভিন্ন।
যখন বন্ধ অবস্থায় কাজ থাকা অবস্থায় শেল থেকে প্রস্থান করার চেষ্টা করা হয়,
শেল ব্যবহারকারীকে সতর্ক করে যে সেখানে কাজ বন্ধ রয়েছে এবং প্রস্থান হয় না। যদি আরেকটা চেষ্টা করা হয়
অবিলম্বে শেল থেকে প্রস্থান করার জন্য তৈরি করা, বন্ধ করা কাজগুলিকে একটি SIGHUP সংকেত এবং শেল পাঠানো হয়
প্রস্থান একইভাবে, যদি nohup বিকল্প সেট করা হয় না এবং একটি চেষ্টা যখন কাজ চলমান আছে
একটি লগইন শেল থেকে প্রস্থান করার জন্য তৈরি করা হয়, শেল ব্যবহারকারীকে সতর্ক করে এবং প্রস্থান করে না। যদি অন্য
অবিলম্বে শেল থেকে প্রস্থান করার চেষ্টা করা হয়, চলমান কাজগুলিকে একটি SIGHUP সংকেত পাঠানো হয় এবং
শেল প্রস্থান করে।
POSIX মোড
প্রবেশন সেট -o posix মোড ঘটাবে ধন্যবাদ জায়গায় আরও বেশি POSIX অনুগত আচরণ করতে
যেখানে ডিফল্ট বা মতামত ভিন্ন। মনে রাখবেন যে ধন্যবাদ এখনও স্বাক্ষরবিহীন সঙ্গে কাজ করবে
32-বিট পাটিগণিত; ব্যবহার lksh যদি হোস্টে পাটিগণিত দীর্ঘ ডেটা টাইপ, ISO C দিয়ে সম্পূর্ণ
অনির্ধারিত আচরণ, প্রয়োজন; পড়ুন lksh(1) বিস্তারিত জানার জন্য ম্যানুয়াল পৃষ্ঠা। অধিকাংশ অন্যান্য
ঐতিহাসিক, AT&T UNIX kshএটি ব্যবহার করে সামঞ্জস্যপূর্ণ, বা মতামতের পার্থক্য নিষ্ক্রিয় করা যেতে পারে
মোড; এইগুলো:
· জিএনইউ সজোরে আঘাত I / O পুনঃনির্দেশ &>ফাইল আর সমর্থিত নয়।
· I/O পুনঃনির্দেশের দ্বারা তৈরি ফাইল বর্ণনাকারীগুলি চাইল্ড প্রসেস দ্বারা উত্তরাধিকারসূত্রে পাওয়া যায়।
· অগ্রণী অঙ্কের শূন্য সহ সংখ্যাগুলিকে অক্টাল হিসাবে ব্যাখ্যা করা হয়।
· সার্জারির প্রতিধ্বনি বিল্টইন ব্যাকস্ল্যাশগুলি ব্যাখ্যা করে না এবং শুধুমাত্র সঠিক বিকল্পকে সমর্থন করে "-n".
· ... (তালিকা অসম্পূর্ণ এবং R53 এর জন্য পরিবর্তন হতে পারে)
SH মোড
সামঞ্জস্য মোড; লিগ্যাসি স্ক্রিপ্টগুলির সাথে ব্যবহারের উদ্দেশ্যে যা সহজে ঠিক করা যায় না; দ্য
পরিবর্তনগুলি নিম্নরূপ:
· জিএনইউ সজোরে আঘাত I / O পুনঃনির্দেশ &>ফাইল আর সমর্থিত নয়।
· I/O পুনঃনির্দেশের দ্বারা তৈরি ফাইল বর্ণনাকারীগুলি চাইল্ড প্রসেস দ্বারা উত্তরাধিকারসূত্রে পাওয়া যায়।
· সার্জারির প্রতিধ্বনি বিল্টইন ব্যাকস্ল্যাশগুলি ব্যাখ্যা করে না এবং শুধুমাত্র সঠিক বিকল্পকে সমর্থন করে "-n".
· ... (তালিকা অসম্পূর্ণ এবং R53 এর জন্য পরিবর্তন হতে পারে)
ইন্টারেক্টিভ ইনপুট লাইন সম্পাদনা
শেল একটি থেকে কমান্ড লাইন পড়ার তিনটি মোড সমর্থন করে TTY(4) একটি ইন্টারেক্টিভ মধ্যে
অধিবেশন, দ্বারা নিয়ন্ত্রিত Emacs, gmacs, এবং vi বিকল্পগুলি (এগুলির মধ্যে সর্বাধিক একটিতে সেট করা যেতে পারে
একদা). ডিফল্ট হয় Emacs. সম্পাদনা মোড ব্যবহার করে স্পষ্টভাবে সেট করা যেতে পারে সেট বিল্ট-ইন।
যদি এই বিকল্পগুলির কোনোটিই সক্রিয় না থাকে, তাহলে শেলটি সাধারণ ব্যবহার করে লাইনগুলি পড়ে TTY(২০১০)
ড্রাইভার যদি Emacs or gmacs বিকল্পটি সেট করা আছে, শেলটি emacs-এর মতো সম্পাদনা করতে দেয়
আদেশ একইভাবে, যদি vi বিকল্পটি সেট করা আছে, শেলটি vi-এর মতো সম্পাদনা করতে দেয়
আদেশ এই মোডগুলি নিম্নলিখিত বিভাগে বিস্তারিতভাবে বর্ণনা করা হয়েছে।
এই সম্পাদনা মোডগুলিতে, যদি একটি লাইন স্ক্রীনের প্রস্থের চেয়ে দীর্ঘ হয় (COLUMNS দেখুন
প্যারামিটার), একটি '>', '+', বা '<' অক্ষর শেষ কলামে প্রদর্শিত হয় যা নির্দেশ করে
পরে, আগে এবং পরে, বা বর্তমান অবস্থানের আগে আরও অক্ষর আছে,
যথাক্রমে লাইনটি প্রয়োজনীয় হিসাবে অনুভূমিকভাবে স্ক্রোল করা হয়।
সম্পূর্ণ লাইনগুলিকে ইতিহাসে ঠেলে দেওয়া হয়, যদি না সেগুলি একটি IFS অক্টেট বা IFS দিয়ে শুরু হয়
সাদা স্থান, অথবা পূর্ববর্তী লাইনের মতই।
এ গিয়ে emacs সম্পাদনা মোড
যখন Emacs বিকল্প সেট করা হয়েছে, ইন্টারেক্টিভ ইনপুট লাইন সম্পাদনা সক্ষম করা হয়েছে। সতর্কতা: এই মোড
মূল কর্ন শেলের emacs মোড থেকে কিছুটা আলাদা। এই মোডে, বিভিন্ন
সম্পাদনা কমান্ড (সাধারণত এক বা একাধিক নিয়ন্ত্রণ অক্ষরের সাথে আবদ্ধ) তাৎক্ষণিক কর্মের কারণ হয়
একটি নতুন লাইনের জন্য অপেক্ষা না করে। বেশ কিছু সম্পাদনা কমান্ড নির্দিষ্ট নিয়ন্ত্রণে আবদ্ধ
অক্ষর যখন শেল আহ্বান করা হয়; এই বাঁধাই ব্যবহার করে পরিবর্তন করা যেতে পারে বাঁধাই করা কমান্ড।
নীচে উপলব্ধ সম্পাদনা কমান্ডের একটি তালিকা রয়েছে। প্রতিটি বর্ণনা দিয়ে শুরু হয়
কমান্ডের নাম, একটি কোলন সঙ্গে প্রত্যয়; একটি [n] (যদি কমান্ডটি a এর সাথে উপসর্গ করা যায়
গণনা); এবং যে কোন কী কমান্ডটি ডিফল্টরূপে আবদ্ধ, ক্যারেট স্বরলিপি ব্যবহার করে লিখিত যেমন
ASCII ESC অক্ষরটি ^[ হিসাবে লেখা হয়। এই নিয়ন্ত্রণ ক্রমগুলি কেস সংবেদনশীল নয়।
একটি কমান্ডের জন্য একটি গণনা উপসর্গ ক্রম ব্যবহার করে প্রবেশ করা হয় ^[n, কোথায় n 1 এর একটি ক্রম
বা আরও বেশি সংখ্যা। অন্যথায় নির্দিষ্ট করা না থাকলে, যদি একটি গণনা বাদ দেওয়া হয়, এটি ডিফল্ট 1-এ পরিণত হয়।
উল্লেখ্য যে সম্পাদনা কমান্ডের নাম শুধুমাত্র এর সাথে ব্যবহার করা হয় বাঁধাই করা আদেশ উপরন্তু, অনেক
সম্পাদনা কমান্ড শুধুমাত্র একটি দৃশ্যমান কার্সার সহ টার্মিনালগুলিতে কার্যকর। ডিফল্ট বাঁধাই
সংশ্লিষ্ট Emacs কী বাইন্ডিং এর সাথে সাদৃশ্য করার জন্য বেছে নেওয়া হয়েছে। ব্যবহারকারীর TTY(4) অক্ষর
(যেমন মুছে ফেলা) যুক্তিসঙ্গত বিকল্পের সাথে আবদ্ধ এবং ডিফল্ট বাইন্ডিং ওভাররাইড করে।
বাতিল করুন: ^C, ^G
বর্তমান কমান্ড বাতিল করুন, লাইন বাফার খালি করুন এবং প্রস্থান অবস্থা সেট করুন
বিঘ্নিত হয়েছে।
স্বয়ংক্রিয়ভাবে সন্নিবেশ করান: [n]
সহজভাবে অক্ষরটিকে আক্ষরিক ইনপুট হিসাবে দেখায়। সবচেয়ে সাধারণ চরিত্র
এই আবদ্ধ হয়.
পশ্চাৎপদ-চর: [n] ^B, ^XD, ANSI-CurLeft, PC-CurLeft
কার্সারটিকে পিছনের দিকে নিয়ে যায় n অক্ষর.
পশ্চাদপদ শব্দ: [n] ^[b, ANSI-Ctrl-CurLeft, ANSI-Alt-CurLeft
শব্দের শুরুতে কার্সারটিকে পিছনের দিকে নিয়ে যায়; শব্দ গঠিত
আলফানিউমেরিকস, আন্ডারস্কোর ('_'), এবং ডলার চিহ্ন ('$') অক্ষর।
ইতিহাসের শুরু: ^[
ইতিহাসের শুরুতে চলে যায়।
লাইনের শুরু: ^A, ANSI-হোম, PC-হোম
কার্সারটিকে সম্পাদিত ইনপুট লাইনের শুরুতে নিয়ে যায়।
ক্যাপিটালাইজ শব্দ: [n] ^[C, ^[c
বড় হাতের প্রথম অক্ষর পরেরটিতে n শব্দ, কার্সারকে শেষ পেরিয়ে যাচ্ছে
শেষ শব্দের।
পরিষ্কার-স্ক্রীন: ^[^L
একটি কম্পাইল-টাইম কনফিগারযোগ্য সিকোয়েন্স প্রিন্ট করে স্ক্রিন পরিষ্কার করতে এবং কার্সারটিকে হোম করতে,
সম্পূর্ণ প্রম্পট এবং বর্তমানে সম্পাদিত ইনপুট লাইন পুনরায় আঁকে। ডিফল্ট ক্রম
প্রায় সব স্ট্যান্ডার্ড টার্মিনালের জন্য কাজ করে।
মন্তব্য: ^[#
যদি বর্তমান লাইনটি একটি মন্তব্য অক্ষর দিয়ে শুরু না হয়, তাহলে একটি যোগ করা হয়
লাইনের শুরুতে এবং লাইনটি প্রবেশ করানো হয় (যেন রিটার্ন টিপানো হয়েছে);
অন্যথায়, বিদ্যমান মন্তব্যের অক্ষরগুলি সরানো হয় এবং কার্সারটি স্থাপন করা হয়
লাইনের শুরু
সম্পূর্ণ: ^[^[
কমান্ডের নাম বা ফাইলের নামের অনন্য হিসাবে স্বয়ংক্রিয়ভাবে সম্পূর্ণ হয়
কার্সার ধারণ করে। যদি সম্পূর্ণ অবশিষ্ট কমান্ড বা ফাইলের নাম অনন্য হয়, a
স্পেস এর সমাপ্তির পরে মুদ্রিত হয়, যদি না এটি একটি ডিরেক্টরির নাম হয় যে ক্ষেত্রে
'/' যুক্ত করা হয়েছে। বর্তমান আংশিক শব্দ সহ কোন কমান্ড বা ফাইলের নাম না থাকলে
এর উপসর্গ হিসাবে, একটি বেল অক্ষর হল আউটপুট (সাধারণত একটি বীপ বাজানো হয়)।
সম্পূর্ণ-কমান্ড: ^X^[
স্বয়ংক্রিয়ভাবে আংশিক থাকা কমান্ড নামের অনন্য যতটা সম্পূর্ণ হয়
এর উপসর্গ হিসাবে কার্সার পর্যন্ত শব্দ, যেমন সম্পূর্ণ উপরে কমান্ড।
সম্পূর্ণ ফাইল: ^[^X
স্বয়ংক্রিয়ভাবে আংশিক থাকা ফাইল নামের অনন্য হিসাবে যতটা সম্পূর্ণ হয়
এর উপসর্গ হিসাবে কার্সার পর্যন্ত শব্দ, যেমন সম্পূর্ণ উপরে বর্ণিত কমান্ড।
সম্পূর্ণ তালিকা: ^I, ^[=
বর্তমান শব্দটি যতটা সম্ভব সম্পূর্ণ করুন এবং সম্ভাব্য তালিকা করুন
এর জন্য সমাপ্তি। যদি শুধুমাত্র একটি সমাপ্তি সম্ভব হয়, তাহলে এর মত মিলবে সম্পূর্ণ
উপরে কমান্ড। মনে রাখবেন যে ^I সাধারণত TAB (ট্যাবুলেটর) কী দ্বারা তৈরি হয়।
মুছে ফেলা-চর-পশ্চাদপদ: [n] মুছে ফেলুন, ^?, ^H
মুছে দেয় n কার্সারের আগে অক্ষর।
ডিলিট-চার-ফরোয়ার্ড: [n] এএনএসআই-ডেল, পিসি-ডেল
মুছে দেয় n কার্সারের পরে অক্ষর।
মুছে ফেলা-শব্দ-পিছিয়ে: [n] WERASE, ^[^?, ^[^H, ^[h
মুছে দেয় n কার্সারের আগে শব্দ।
মুছে-শব্দ-ফরোয়ার্ড: [n] ^[ডি
কার্সারের শেষ পর্যন্ত অক্ষর মুছে দেয় n শব্দ।
ডাউন-ইতিহাস: [n] ^N, ^XB, ANSI-CurDown, PC-CurDown
ইতিহাসের বাফার সামনে স্ক্রোল করে n লাইন (পরে)। প্রতিটি ইনপুট লাইন মূলত
ইতিহাস বাফারে শেষ এন্ট্রির ঠিক পরে শুরু হয়, তাই ডাউন-ইতিহাস এটি না
উভয় পর্যন্ত দরকারী অনুসন্ধানের ইতিহাস, অনুসন্ধান-ইতিহাস-আপ or আপ-ইতিহাস হয়েছে
সঞ্চালিত।
downcase-word: [n] ^[L, ^[l
পরেরটি ছোট হাতের অক্ষর n শব্দ।
সম্পাদনা লাইন: [n] ^এক্স
লাইন সম্পাদনা করুন n অথবা বর্তমান লাইন, যদি নির্দিষ্ট না হয়, ইন্টারেক্টিভভাবে। আসল
কমান্ড কার্যকর করা হয় fc -e ${ভিজ্যুয়াল:-${EDITOR:-vi}} n.
ইতিহাসের শেষ: ^[>
ইতিহাসের শেষ দিকে চলে যায়।
লাইনের শেষ: ^E, ANSI-এন্ড, PC-এন্ড
ইনপুট লাইনের শেষে কার্সার নিয়ে যায়।
eot: ^_
ফাইলের শেষ হিসাবে কাজ করে; এটি দরকারী কারণ সম্পাদনা-মোড ইনপুট স্বাভাবিক অক্ষম করে
টার্মিনাল ইনপুট ক্যানোনিকালাইজেশন।
eot-or-delete: [n] ^D
হিসাবে কাজ করে eot যদি লাইনে একা থাকে; অন্যথায় হিসাবে কাজ করে মুছে ফেলা-চার-ফরোয়ার্ড.
ত্রুটি: (আবদ্ধ নয়)
ত্রুটি (ঘণ্টা বাজানো)।
বিনিময়-বিন্দু-এবং-চিহ্ন: ^X^X
যেখানে চিহ্ন আছে সেখানে কার্সার রাখে এবং যেখানে কার্সার ছিল সেখানে চিহ্ন সেট করে।
প্রসারিত-ফাইল: ^[*
বর্তমান শব্দের সাথে একটি '*' যুক্ত করে এবং এর ফলাফল দিয়ে শব্দটিকে প্রতিস্থাপন করে
শব্দের উপর ফাইল গ্লবিং করা। যদি কোনো ফাইল প্যাটার্নের সাথে মেলে না, তাহলে বেল হল
রঙ্গ
ফরোয়ার্ড-চার: [n] ^F, ^XC, ANSI-CurRight, PC-CurRight
কার্সারকে সামনে নিয়ে যায় n অক্ষর.
সামনের শব্দ: [n] ^[f, ANSI-Ctrl-CurRight, ANSI-Alt-CurRight
কার্সারটিকে শেষের দিকে এগিয়ে নিয়ে যায় nম শব্দ।
গোটো-ইতিহাস: [n] ^[ছ
ইতিহাস নম্বরে যায় n.
kill-line: হত্যা করা
সম্পূর্ণ ইনপুট লাইন মুছে দেয়।
হত্যা-অঞ্চল: ^W
কার্সার এবং চিহ্নের মধ্যে ইনপুট মুছে দেয়।
হত্যা থেকে ইওল: [n] ^ কে
যদি ইনপুটটি কার্সার থেকে লাইনের শেষ পর্যন্ত মুছে দেয় n নির্দিষ্ট করা নেই;
অন্যথায় কার্সার এবং কলামের মধ্যে অক্ষর মুছে দেয় n.
তালিকা: ^[?
কমান্ডের নাম বা ফাইলের নাম (যদি থাকে) একটি সাজানো, কলামযুক্ত তালিকা প্রিন্ট করে যা করতে পারে
কার্সার ধারণকারী আংশিক শব্দ সম্পূর্ণ করুন। ডিরেক্টরির নাম '/' যুক্ত করা হয়েছে
তাদেরকে.
তালিকা-কমান্ড: ^X?
কমান্ড নামের একটি সাজানো, কলামযুক্ত তালিকা প্রিন্ট করে (যদি থাকে) যা সম্পূর্ণ করতে পারে
কার্সার ধারণকারী আংশিক শব্দ।
তালিকা-ফাইল: ^X^Y
ফাইল নামের একটি সাজানো, কলামযুক্ত তালিকা প্রিন্ট করে (যদি থাকে) যা সম্পূর্ণ করতে পারে
কার্সার ধারণকারী আংশিক শব্দ। ফাইলের ধরন নির্দেশকগুলি বর্ণিত হিসাবে যুক্ত করা হয়েছে
অধীনে তালিকা উপরে।
নিউলাইন: ^জে, ^এম
বর্তমান ইনপুট লাইন শেল দ্বারা প্রক্রিয়া করা হয়. বর্তমান কার্সার
অবস্থান লাইনের যে কোন জায়গায় হতে পারে।
নতুন লাইন এবং পরবর্তী: ^O
বর্তমান ইনপুট লাইন শেল দ্বারা প্রক্রিয়া করা হয়, এবং পরবর্তী লাইন থেকে
ইতিহাস বর্তমান লাইন হয়ে ওঠে। এই শুধুমাত্র একটি পরে দরকারী আপ-ইতিহাস,
অনুসন্ধানের ইতিহাস or অনুসন্ধান-ইতিহাস-আপ.
no-op: প্রস্থান করুন
এই কিছুই করে না.
উপসর্গ-1: ^[
একটি 2-অক্ষরের কমান্ড ক্রম প্রবর্তন করে।
উপসর্গ-2: ^X, ^[[, ^[O
একটি 2-অক্ষরের কমান্ড ক্রম প্রবর্তন করে।
prev-hist-word: [n] ^[।, ^[_
শেষ শব্দ, বা, যদি দেওয়া হয়, nআগেরটির তম শব্দ (শূন্য-ভিত্তিক) (পুনরাবৃত্ত
এক্সিকিউশন, সেকেন্ড-লাস্ট, থার্ড-লাস্ট ইত্যাদি) কমান্ড কার্সারে ঢোকানো হয়। ব্যাবহার
এই সম্পাদনা কমান্ড চিহ্নটিকে ট্র্যাশ করে।
উদ্ধৃতি: ^^, ^V
নিম্নলিখিত অক্ষরটি একটি সম্পাদনা কমান্ডের পরিবর্তে আক্ষরিক অর্থে নেওয়া হয়েছে।
পুনরায় আঁকা: ^L
প্রম্পট স্ট্রিং এর শেষ লাইন এবং বর্তমান ইনপুট লাইন একটি নতুন এ রিপ্রিন্ট করে
লাইন।
অনুসন্ধান-অক্ষর-পশ্চাদপদ: [n] ^[^]
এর জন্য বর্তমান লাইনে পিছনের দিকে অনুসন্ধান করুন nপরবর্তী চরিত্রের তম ঘটনা
টাইপ করা
অনুসন্ধান-অক্ষর-ফরোয়ার্ড: [n] ^]
এর জন্য বর্তমান লাইনে অনুসন্ধান করুন nপরবর্তী চরিত্রের তম ঘটনা
টাইপ করা
অনুসন্ধান-ইতিহাস: ^আর
ইনক্রিমেন্টাল সার্চ মোডে প্রবেশ করুন। অভ্যন্তরীণ ইতিহাসের তালিকাটি পিছনের দিকে অনুসন্ধান করা হয়েছে৷
ইনপুট মেলে কমান্ড. অনুসন্ধান স্ট্রিং-এ একটি প্রাথমিক '^' অ্যাঙ্কর করে
অনুসন্ধান এস্কেপ কী সার্চ মোড ছেড়ে যাবে। সিকোয়েন্স সহ অন্যান্য কমান্ড
পালানোর হিসাবে উপসর্গ-1 একটি দ্বারা অনুসরণ উপসর্গ-1 or উপসর্গ-2 কী পরে কার্যকর করা হবে
সার্চ মোড ছেড়ে যাচ্ছে। দ্য গর্ভপাত (^G) কমান্ড আগে ইনপুট লাইন পুনরুদ্ধার করবে
অনুসন্ধান শুরু ধারাবাহিক অনুসন্ধানের ইতিহাস কমান্ড পিছনে অনুসন্ধান চালিয়ে
প্যাটার্নের পরবর্তী পূর্ববর্তী ঘটনা। ইতিহাস বাফার শুধুমাত্র একটি বজায় রাখে
লাইনের সীমিত সংখ্যা; প্রাচীনতম প্রয়োজন হিসাবে বাতিল করা হয়.
অনুসন্ধান-ইতিহাস-আপ: ANSI-PgUp, PC-PgUp
ইতিহাসের বাফারের মাধ্যমে পিছনের দিকে অনুসন্ধান করুন যে কমান্ডগুলির শুরুর সাথে মেলে
কার্সারের আগে ইনপুট লাইনের অংশ। একটি খালি লাইন ব্যবহার করা হলে, এটি আছে
হিসাবে একই প্রভাব আপ-ইতিহাস.
search-history-down: ANSI-PgDn, PC-PgDn
ইতিহাসের বাফারের মাধ্যমে ফরওয়ার্ড অনুসন্ধান করুন যে কমান্ডগুলির শুরুর সাথে মেলে
কার্সারের আগে ইনপুট লাইনের অংশ। একটি খালি লাইন ব্যবহার করা হলে, এটি আছে
হিসাবে একই প্রভাব ডাউন-ইতিহাস. এই শুধুমাত্র একটি পরে দরকারী আপ-ইতিহাস,
অনুসন্ধানের ইতিহাস or অনুসন্ধান-ইতিহাস-আপ.
সেট-মার্ক-কমান্ড: ^[
কার্সার অবস্থানে চিহ্ন সেট করুন।
স্থানান্তর-অক্ষর: ^T
যদি লাইনের শেষে, বা যদি gmacs বিকল্প সেট করা আছে, এটি দুটি বিনিময় করে
পূর্ববর্তী অক্ষর; অন্যথায়, এটি পূর্ববর্তী এবং বর্তমান অক্ষর বিনিময় করে এবং
কার্সারকে একটি অক্ষর ডানদিকে নিয়ে যায়।
আপ-ইতিহাস: [n] ^P, ^XA, ANSI-CurUp, PC-CurUp
ইতিহাসের বাফার পিছনের দিকে স্ক্রোল করে n লাইন (আগে)।
upcase-word: [n] ^[ইউ, ^[উ
বড় হাতের পরেরটি n শব্দ।
সংস্করণ: ^[^ভি
এর সংস্করণ প্রদর্শন করুন ধন্যবাদ. বর্তমান সম্পাদনা বাফার একটি কী হিসাবে শীঘ্রই পুনরুদ্ধার করা হয়
চাপা হয়. পুনঃস্থাপন কীপ্রেস প্রক্রিয়া করা হয়, যদি না এটি একটি স্থান হয়।
ইয়াঙ্ক: ^ওয়াই
বর্তমান কার্সার অবস্থানে সবচেয়ে সাম্প্রতিক নিহত পাঠ্য স্ট্রিং সন্নিবেশ করান।
ইয়াঙ্ক-পপ: ^[y
ততক্ষনে ক ঝাঁকি মারিয়া টানা, ঢোকানো টেক্সট স্ট্রিংকে পূর্বে পরবর্তী দিয়ে প্রতিস্থাপন করে
মেরে ফেলা টেক্সট স্ট্রিং।
Vi সম্পাদনা মোড
বিঃদ্রঃ: vi কমান্ড-লাইন সম্পাদনা মোড অনাথ, তবুও কার্যকরী। এটি 8-বিট পরিষ্কার
কিন্তু বিশেষভাবে UTF-8 বা MBCS সমর্থন করে না।
vi কমান্ড-লাইন সম্পাদক ইন ধন্যবাদ মূলত একই কমান্ড আছে vi(1) সহ সম্পাদক
নিম্নলিখিত ব্যতিক্রমগুলি:
· আপনি সন্নিবেশ মোডে শুরু করুন।
· ফাইলের নাম এবং কমান্ড কমপ্লিশন কমান্ড আছে: =, \, *, ^X, ^E, ^F, এবং,
ঐচ্ছিকভাবে, এবং .
· সার্জারির _ কমান্ড ভিন্ন (in ধন্যবাদ, এটি শেষ আর্গুমেন্ট কমান্ড; ভিতরে vi(1) এটি যায়
বর্তমান লাইনের শুরুতে)।
· সার্জারির / এবং G কমান্ড বিপরীত দিকে সরানো j কমান্ড।
· যে কমান্ডগুলি একক লাইন এডিটরে বোঝা যায় না সেগুলি উপলব্ধ নেই (যেমন পর্দা
আন্দোলন আদেশ এবং ex(1)-স্টাইল কোলন (:) কমান্ড)।
মত vi(1), দুটি মোড আছে: "সন্নিবেশ" মোড এবং "কমান্ড" মোড। সন্নিবেশ মোডে, অধিকাংশ
অক্ষরগুলি টাইপ করার সাথে সাথে বর্তমান কার্সার অবস্থানে বাফারে রাখা হয়;
যাইহোক, কিছু অক্ষর বিশেষভাবে চিকিত্সা করা হয়. বিশেষ করে, নিম্নলিখিত অক্ষর হয়
বর্তমান থেকে নেওয়া TTY(4) সেটিংস (দেখুন stty(1)) এবং তাদের স্বাভাবিক অর্থ (স্বাভাবিক মান) আছে
বন্ধনীতে আছে): kill (^U), মুছে ফেলুন (^?), werase (^W), eof (^D), intr (^C), এবং প্রস্থান করুন (^\)।
উপরোক্ত ছাড়াও, নিম্নলিখিত অক্ষরগুলিও সন্নিবেশে বিশেষভাবে বিবেচনা করা হয়
মোড:
^E কমান্ড এবং ফাইলের নাম গণনা (নীচে দেখুন)।
^F কমান্ড এবং ফাইলের নাম সমাপ্তি (নীচে দেখুন)। পরপর দুবার ব্যবহার করা হলে এর তালিকা
সম্ভাব্য সমাপ্তি প্রদর্শিত হয়; তৃতীয়বার ব্যবহার করা হলে, সমাপ্তি পূর্বাবস্থায় ফেরানো হয়।
^H আগের অক্ষর মুছে দেয়।
^জে | ^M লাইনের শেষ। বর্তমান লাইনটি শেল দ্বারা পড়া, পার্স করা এবং কার্যকর করা হয়।
^V আক্ষরিক পরবর্তী। টাইপ করা পরবর্তী অক্ষরটিকে বিশেষভাবে বিবেচনা করা হয় না (এতে ব্যবহার করা যেতে পারে
এখানে বর্ণিত অক্ষর সন্নিবেশ করান)।
^X কমান্ড এবং ফাইলের নাম সম্প্রসারণ (নীচে দেখুন)।
সম্পাদককে কমান্ড মোডে রাখে (নীচে দেখুন)।
ঐচ্ছিক ফাইলের নাম এবং কমান্ড সমাপ্তি (দেখুন ^F উপরে), এর সাথে সক্ষম সেট -o
vi-ট্যাব সম্পূর্ণ.
কমান্ড মোডে, প্রতিটি অক্ষরকে একটি কমান্ড হিসাবে ব্যাখ্যা করা হয়। অক্ষর যে না
কমান্ডের সাথে সঙ্গতিপূর্ণ, আদেশের অবৈধ সংমিশ্রণ, বা এমন কমান্ড যা হতে পারে না
বাহিত, সব কারণ beeps. নিম্নলিখিত কমান্ডের বিবরণে, একটি [n] নির্দেশ করে
কমান্ড একটি সংখ্যা দ্বারা উপসর্গ হতে পারে (যেমন 10l ডানদিকে 10 অক্ষর সরে যায়); নম্বর না থাকলে
উপসর্গ ব্যবহার করা হয়, n অন্যথায় নির্দিষ্ট না হলে 1 বলে ধরে নেওয়া হয়। শব্দ "বর্তমান
অবস্থান" কার্সার এবং কার্সারের পূর্ববর্তী অক্ষরের মধ্যে অবস্থান বোঝায়।
একটি "শব্দ" হল অক্ষর, অঙ্ক এবং আন্ডারস্কোর অক্ষরের একটি ক্রম বা অ-এর একটি ক্রম
অক্ষর, অ-সংখ্যা, অ-আন্ডারস্কোর এবং অ-হোয়াইটস্পেস অক্ষর (যেমন "ab2*&^" দুটি রয়েছে
শব্দ) এবং একটি "বড়-শব্দ" হল নন-হোয়াইটস্পেস অক্ষরের একটি ক্রম।
বিশেষ ধন্যবাদ vi কমান্ড:
নিম্নলিখিত কমান্ডগুলি সাধারণ vi ফাইল সম্পাদকের মধ্যে নেই বা এর থেকে আলাদা:
[n]_ এর পরে একটি স্থান সন্নিবেশ করুন nইতিহাসের শেষ কমান্ড থেকে তম বড় শব্দ
বর্তমান অবস্থানে এবং সন্নিবেশ মোডে প্রবেশ করুন; যদি n উল্লেখ করা হয় না, শেষ
শব্দ ঢোকানো হয়।
# বর্তমান লাইনের শুরুতে মন্তব্য অক্ষর ('#') প্রবেশ করান এবং ফিরে আসুন
শেলের লাইন (এর সমতুল্য আমি#^জে).
[n]g লাইক G, যদি ছাড়া n নির্দিষ্ট করা নেই, এটি সবচেয়ে সাম্প্রতিক মনে রাখা যায়
লাইন।
[n]v লাইন সম্পাদনা করুন n ব্যবহার করে vi(1) সম্পাদক; যদি n নির্দিষ্ট করা নেই, বর্তমান লাইন হল
সম্পাদিত বাস্তবিক কমান্ড কার্যকর করা হয় fc -e ${ভিজ্যুয়াল:-${EDITOR:-vi}} n.
* এবং ^X কমান্ড বা ফাইলের নাম সম্প্রসারণ বর্তমান বড়-শব্দে প্রয়োগ করা হয় (একটি সহ
'*' যুক্ত করা হয় যদি শব্দটিতে কোনো ফাইল গ্লবিং অক্ষর না থাকে) - বড় শব্দটি
ফলে শব্দ দিয়ে প্রতিস্থাপিত হয়েছে। যদি বর্তমান বড়-শব্দটি প্রথম হয়
';', '|', '&', '(', বা ')' অক্ষরগুলির একটি লাইন বা অনুসরণ করে, এবং না
একটি স্ল্যাশ ('/') ধারণ করে, তারপর কমান্ড সম্প্রসারণ করা হয়; অন্যথায় ফাইলের নাম
সম্প্রসারণ করা হয়। কমান্ড সম্প্রসারণ সব বিরুদ্ধে বড় শব্দ মিলবে
উপনাম, ফাংশন, এবং বিল্ট-ইন কমান্ডের পাশাপাশি যে কোনো এক্সিকিউটেবল ফাইল পাওয়া গেছে
PATH প্যারামিটারে ডিরেক্টরি অনুসন্ধান করে। ফাইলের নাম সম্প্রসারণ মেলে
বর্তমান ডিরেক্টরির ফাইলগুলির বিরুদ্ধে বড় শব্দ। সম্প্রসারণের পর, দ
কার্সারটি শেষ শব্দের ঠিক পরে রাখা হয়েছে এবং সম্পাদক সন্নিবেশ মোডে রয়েছে।
[n]\, [n]^F, [n] , এবং [n]
কমান্ড/ফাইলের নাম সমাপ্তি। বর্তমান বড়-শব্দটিকে দীর্ঘতম দিয়ে প্রতিস্থাপন করুন
কমান্ড এবং ফাইলের নাম সম্প্রসারণ করার পরে প্রাপ্ত অনন্য মিল।
শুধুমাত্র যদি স্বীকৃত হয় vi-ট্যাব সম্পূর্ণ বিকল্প সেট করা হয়, যখন শুধুমাত্র
স্বীকৃত যদি vi-অসম্পূর্ণ বিকল্প সেট করা হয়েছে (দেখুন সেট -o)। যদি n উল্লিখিত আছে,
দ্য nসম্ভাব্য সমাপ্তি নির্বাচন করা হয়েছে (যেমন কমান্ড/ফাইল নাম দ্বারা রিপোর্ট করা হয়েছে
গণনা আদেশ)।
= এবং ^E কমান্ড/ফাইল নাম গণনা। এর সাথে মেলে এমন সমস্ত কমান্ড বা ফাইলের তালিকা করুন
বর্তমান বড় শব্দ।
^V এর সংস্করণটি প্রদর্শন করুন ধন্যবাদ. বর্তমান সম্পাদনা বাফার যত তাড়াতাড়ি পুনরুদ্ধার করা হয় a
কী চাপা হয়। পুনঃস্থাপন কীপ্রেস উপেক্ষা করা হয়.
@c ম্যাক্রো সম্প্রসারণ। উপনামে পাওয়া কমান্ডগুলি চালান c.
ইন্ট্রা-লাইন আন্দোলন আদেশ:
[n]হাত [n]^এইচ
বামে ঘুরো n অক্ষর.
[n]l এবং [n]
ডানে যাও n অক্ষর.
0 কলাম 0 এ সরান।
^ প্রথম নন-হোয়াইটস্পেস অক্ষরে যান।
[n]| কলামে যান n.
$ শেষ অক্ষরে সরান।
[n]b পিছনে সরান n শব্দ।
[n]B পিছনে সরান n বড় শব্দ
[nশব্দের শেষে এগিয়ে যান, n বার।
[n]E বড় শব্দের শেষে এগিয়ে যান, n বার।
[nএগিয়ে যান n শব্দ।
[n]W এগিয়ে যান n বড় শব্দ
% মিল খুঁজুন। সম্পাদক নিকটতম বন্ধনী, বন্ধনী বা বন্ধনীর জন্য অপেক্ষা করছেন
এবং তারপরে কার্সারটিকে মিলিত বন্ধনী, বন্ধনী বা বন্ধনীতে নিয়ে যায়।
[n]fc এগিয়ে যান nচরিত্রের তম ঘটনা c.
[n]Fc পিছনে সরান nচরিত্রের তম ঘটনা c.
[n]tc ঠিক আগে এগিয়ে যান nচরিত্রের তম ঘটনা c.
[n]Tc ঠিক আগে পিছনে সরান nচরিত্রের তম ঘটনা c.
[n]; শেষের পুনরাবৃত্তি করে f, F, t, বা T কমান্ড।
[n], শেষের পুনরাবৃত্তি f, F, t, বা T কমান্ড, কিন্তু বিপরীত দিকে চলে।
ইন্টার-লাইন আন্দোলন আদেশ:
[n]জ, [n]+, এবং [n]^এন
যাও সরান nইতিহাসের পরের লাইন।
[n]k, [n]-, এবং [n]^পি
যাও সরান nইতিহাসের তম আগের লাইন।
[n]G লাইনে সরান n ইতিহাসে; যদি n নির্দিষ্ট করা নেই, প্রথমটির সংখ্যা
মনে রাখা লাইন ব্যবহার করা হয়।
[n]g লাইক G, যদি ছাড়া n নির্দিষ্ট করা নেই, এটি সবচেয়ে সাম্প্রতিক মনে রাখা লাইনে যায়।
[n]/স্ট্রিং
জন্য ইতিহাস মাধ্যমে পিছনে অনুসন্ধান করুন nতম লাইন ধারণকারী স্ট্রিং; যদি স্ট্রিং
'^' দিয়ে শুরু হয়, স্ট্রিংয়ের বাকি অংশ অবশ্যই ইতিহাসের শুরুতে উপস্থিত হবে
এটি মেলে জন্য লাইন.
[n]?স্ট্রিং
একই রকম /, এটি ইতিহাসের মাধ্যমে এগিয়ে অনুসন্ধান ছাড়া.
[n]n অনুসন্ধান করুন nশেষ অনুসন্ধান স্ট্রিং এর তম ঘটনা; অনুসন্ধানের দিক
শেষ অনুসন্ধান হিসাবে একই.
[n]N অনুসন্ধান করুন nশেষ অনুসন্ধান স্ট্রিং এর তম ঘটনা; অনুসন্ধানের দিক
শেষ অনুসন্ধানের বিপরীত।
ANSI-CurUp, PC-PgUp
লাইনের শুরু থেকে বর্তমান কার্সার অবস্থান হিসাবে অক্ষর নিন
স্ট্রিং অনুসন্ধান করুন এবং এটি দিয়ে শুরু হওয়া লাইনগুলির জন্য একটি পিছনের ইতিহাস অনুসন্ধান করুন
স্ট্রিং কার্সার অবস্থান রাখুন। এটি শুধুমাত্র সন্নিবেশ মোডে কাজ করে এবং এটি রাখে
সক্ষম করা হয়েছে।
কমান্ড সম্পাদনা করুন
[nএকটি টেক্সট যোগ করুন n বার বর্তমান অবস্থানের ঠিক পরে সন্নিবেশ মোডে যায়। দ্য
পরিশিষ্ট শুধুমাত্র প্রতিলিপি করা হয় যদি কমান্ড মোড পুনরায় প্রবেশ করা হয় অর্থাৎ ব্যবহৃত হয়.
[n]A Same as a, এটি লাইনের শেষে যোগ করা ছাড়া।
[n]আমি পাঠ্য সন্নিবেশ করান n বার বর্তমান অবস্থানে সন্নিবেশ মোডে যায়। সন্নিবেশ
কমান্ড মোড পুনরায় প্রবেশ করা হলেই শুধুমাত্র প্রতিলিপি করা হয় ব্যবহৃত হয়.
[n]আমি একই রকম i, ব্যতীত সন্নিবেশটি প্রথম অ-শূন্য অক্ষরের ঠিক আগে করা হয়।
[n]s পরের বিকল্প n অক্ষর (অর্থাৎ অক্ষর মুছে দিন এবং সন্নিবেশে যান
মোড).
S সাবস্টিটিউট পুরো লাইন। প্রথম অ-শূন্য অক্ষর থেকে শেষ পর্যন্ত সমস্ত অক্ষর
লাইনের মুছে ফেলা হয় এবং সন্নিবেশ মোড প্রবেশ করা হয়.
[n]cmove-cmd
বর্তমান অবস্থান থেকে ফলে অবস্থান থেকে পরিবর্তন n move-cmds (যেমন
নির্দেশিত অঞ্চল মুছুন এবং সন্নিবেশ মোডে যান); যদি move-cmd is c, লাইন
প্রথম অ-শূন্য অক্ষর থেকে শুরু করে পরিবর্তন করা হয়।
C বর্তমান অবস্থান থেকে লাইনের শেষে পরিবর্তন করুন (অর্থাৎ এর শেষে মুছুন
লাইন এবং সন্নিবেশ মোডে যান)।
[n]x পরেরটি মুছুন n অক্ষর.
[n]X আগেরটি মুছুন n অক্ষর.
D লাইনের শেষে মুছুন।
[n]dmove-cmd
বর্তমান অবস্থান থেকে ফলে অবস্থান থেকে মুছুন n move-cmds;
move-cmd একটি আন্দোলন কমান্ড (উপরে দেখুন) বা d, যে ক্ষেত্রে বর্তমান লাইন হয়
মোছা হয়েছে।
[n]rc পরেরটি প্রতিস্থাপন করুন n চরিত্রের সাথে অক্ষর c.
[n]আর প্রতিস্থাপন। সন্নিবেশ মোডে প্রবেশ করুন কিন্তু সন্নিবেশ করার পরিবর্তে বিদ্যমান অক্ষরগুলি ওভাররাইট করুন৷
বিদ্যমান অক্ষরের আগে। প্রতিস্থাপন পুনরাবৃত্তি হয় n বার।
[n]~ পরের ক্ষেত্রে পরিবর্তন করুন n অক্ষর.
[n]ymove-cmd
বর্তমান অবস্থান থেকে পজিশন থেকে ফলস্বরূপ ইয়াঙ্ক করুন n move-cmdএর মধ্যে
ইয়াঙ্ক বাফার; যদি move-cmd is y, পুরো লাইন yanked হয়.
Y Yank বর্তমান অবস্থান থেকে লাইনের শেষ পর্যন্ত।
[n]p বর্তমান অবস্থানের ঠিক পরে ইয়াঙ্ক বাফারের বিষয়বস্তু আটকান, n বার।
[n]P Same as p, বাফার ছাড়া বর্তমান অবস্থানে আটকানো হয়.
বিবিধ vi কমান্ড
^J এবং ^M
বর্তমান লাইনটি শেল দ্বারা পড়া, পার্স করা এবং কার্যকর করা হয়।
^L এবং ^R
বর্তমান লাইনটি পুনরায় আঁকুন।
[n]। শেষ সম্পাদনা কমান্ড পুনরায় করুন n বার।
u শেষ সম্পাদনা কমান্ড পূর্বাবস্থায় ফেরান।
U বর্তমান লাইনে করা সমস্ত পরিবর্তন পূর্বাবস্থায় ফেরান।
পিসি হোম, এন্ড, ডেল এবং কার্সার কী
তারা সন্নিবেশ এবং কমান্ড মোডে প্রত্যাশিতভাবে সরে যায়।
ভিতরে এবং অব্যাহতিপ্রাপ্ত
interrupt এবং quit টার্মিনাল অক্ষর বর্তমান লাইন মুছে ফেলার কারণ এবং
প্রিন্ট করার জন্য একটি নতুন প্রম্পট।
onworks.net পরিষেবা ব্যবহার করে অনলাইনে mksh ব্যবহার করুন