Alias (command)
কম্পিউটিংয়ে, উপনাম হল বিভিন্ন কমান্ড-লাইন ইন্টারপ্রেটারের (শেল) একটি কমান্ড, যা একটি শব্দকে অন্য স্ট্রিং দ্বারা প্রতিস্থাপন করতে সক্ষম করে। এটি মূলত একটি সিস্টেম কমান্ড সংক্ষিপ্ত করার জন্য বা নিয়মিত ব্যবহৃত কমান্ডে ডিফল্ট আর্গুমেন্ট যোগ করার জন্য ব্যবহৃত হয়। উপনামটি ইউনিক্স শেল, অ্যামিগাডোস, 4ডিওএস/4এনটি, কলিব্রিয়োস, উইন্ডোজ পাওয়ারশেল, রিঅ্যাক্টওএস এবং ইএফআই শেল-এ পাওয়া যায়। এমএস-ডস এবং মাইক্রোসফ্ট উইন্ডোজ অপারেটিং সিস্টেমে আলিয়াজিং কার্যকারিতা ডস্কি কমান্ড-লাইন ইউটিলিটি দ্বারা সরবরাহ করা হয়। একটি উপনাম শেল সেশনের সারা জীবন স্থায়ী হবে। নিয়মিতভাবে ব্যবহৃত উপনামগুলি শেলের আরসি ফাইল থেকে সেট করা যেতে পারে (যেমন. বাশার্ক) যাতে সেগুলি সংশ্লিষ্ট শেল সেশনের শুরুতে উপলব্ধ থাকে। উপনাম কমান্ডগুলি হয় সরাসরি কনফিগারেশন ফাইলে লেখা হতে পারে অথবা একটি পৃথক ফাইল থেকে নেওয়া হতে পারে। ইতিহাস ইউনিক্সে, উপনামে সি শেল চালু করা হয়েছিল এবং টিসিএসএইচ এবং ব্যাশের মতো বংশধর শেলগুলিতে বেঁচে ছিল। সি শেল উপনামগুলি কঠোরভাবে একটি লাইনের মধ্যে সীমাবদ্ধ ছিল। এটি সহজ শর্টকাট কমান্ড তৈরির জন্য কার্যকর ছিল, তবে আরও জটিল গঠন নয়। বোর্ন শেলের পুরানো সংস্করণগুলি বিকল্পের প্রস্তাব দেয়নি, তবে এটি ফাংশন সরবরাহ করেছিল, যা সি. এস. এইচ উপনাম ধারণার চেয়ে বেশি শক্তিশালী। সি. এস. এইচ থেকে উপনাম ধারণাটি বোর্ন অ্যাগেইন শেল (ব্যাশ) এবং কর্ন শেল (কে. এস. এইচ)-এ আমদানি করা হয়েছিল। এমন শেলগুলির সাথে যা ফাংশন এবং উপনাম উভয়কেই সমর্থন করে তবে কোনও প্যারামিটারাইজড ইনলাইন শেল স্ক্রিপ্ট নেই, যেখানেই সম্ভব ফাংশনগুলির ব্যবহারের পরামর্শ দেওয়া হয়। যেসব ক্ষেত্রে ছদ্মনামের প্রয়োজন হয় সেগুলির মধ্যে রয়েছে এমন পরিস্থিতি যেখানে শৃঙ্খলিত ছদ্মনামের প্রয়োজন হয় (ব্যাশ এবং কেশ)। কমান্ডটি আইবিএম আই অপারেটিং সিস্টেমেও পোর্ট করা হয়েছে। ইউসেজ ক্রিয়েটিং এলিয়াজ কমন ইউনিক্স শেল নন-পার্সিস্ট্যান্ট এলিয়াজ তৈরি করা যেতে পারে উপনাম কমান্ডের জন্য আর্গুমেন্ট হিসাবে নাম/মান জোড়া সরবরাহ করে। ইউনিক্স শেলগুলিতে সিনট্যাক্সটি হ 'লঃ ওরফে জিসি =' গিট কমিট 'সি শেল সি শেল বা টিসিএস শেলের সংশ্লিষ্ট সিনট্যাক্সটি হ' লঃ ওরফে জিসি "গিট কমিট" এই উপনামটির অর্থ হল যখন শেলটিতে জিসি কমান্ডটি পড়া হবে, এটি গিট কমিট দ্বারা প্রতিস্থাপিত হবে এবং সেই কমান্ডটি পরিবর্তে কার্যকর করা হবে। 4 ডস/4এনটি শেল-এ নিম্নলিখিত বাক্যবিন্যাসটি 4 ডস কপি কমান্ডের উপনাম হিসাবে সিপিকে সংজ্ঞায়িত করতে ব্যবহৃত হয়ঃ ওরফে সিপি কপি উইন্ডোজ পাওয়ারশেল উইন্ডোজ পাওয়ারশেলে একটি নতুন উপনাম তৈরি করতে, নতুন-বিকল্প সিএমডিলেট ব্যবহার করা যেতে পারেঃ নতুন-বিকল্প সিআই কপি-আইটেম এটি সিআই নামে একটি নতুন উপনাম তৈরি করে যা কার্যকর করার সময় কপি-আইটেম সিএমডিলেট দিয়ে প্রতিস্থাপন করা হবে। পাওয়ারশেল-এ, একটি কমান্ডের জন্য ডিফল্ট আর্গুমেন্ট নির্দিষ্ট করতে একটি উপনাম ব্যবহার করা যাবে না। পরিবর্তে, এটি অবশ্যই পাওয়ারশেল পছন্দের ভেরিয়েবলগুলির মধ্যে একটি, $পি. এস. ডিফল্টপ্যারামিটারভ্যালুস সংগ্রহে আইটেমগুলি যুক্ত করে করা উচিত। বর্তমানে সংজ্ঞায়িত উপনামগুলি দেখা সংজ্ঞায়িত উপনামগুলি দেখতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করা যেতে পারেঃ উপনাম #আর্গুমেন্ট ছাড়াই ব্যবহৃত; সমস্ত বর্তমান উপনামগুলির একটি তালিকা প্রদর্শন করে ওরফে-পি #তালিকা উপনামগুলি এমনভাবে প্রদর্শন করে যা আউটপুট সোর্স করে পুনরায় তৈরি করার অনুমতি দেয়; 4ডিওএস/4এনটি এবং পাওয়ারশেল ওরফে মাইআলিয়াস #-এ উপলব্ধ নয় একটি সংজ্ঞায়িত উপনাম ওভাররাইডিং উপনামগুলির জন্য কমান্ড প্রদর্শন করে ইউনিক্স শেলগুলিতে, উপনামটি ব্যবহার করার সময় উপনামের নামের যে কোনও অক্ষর উদ্ধৃত করে একটি উপনামকে ওভাররাইড করা সম্ভব। উদাহরণস্বরূপ, নিম্নলিখিত উপনাম সংজ্ঞাটি বিবেচনা করুনঃ উপনাম ls = 'ls-la' এই উপনামটিকে ওভাররাইড করতে এবং ls কমান্ডটি কার্যকর করতে যেমনটি এটি মূলত সংজ্ঞায়িত করা হয়েছিল, নিম্নলিখিত বাক্যবিন্যাসটি ব্যবহার করা যেতে পারেঃ 'ls' বা \ls 4DOS/4NT শেলের মধ্যে একটি উপনামকে একটি তারকাচিহ্ন দিয়ে প্রিফিক্স করে ওভাররাইড করা সম্ভব। উদাহরণস্বরূপ, নিম্নলিখিত উপনাম সংজ্ঞাটি বিবেচনা করুনঃ উপনাম দির = * দির/2/পি দিরের 2য় দৃষ্টান্তের তারকাচিহ্নটি অপ্রচলিত দিরকে আহ্বান করে, পুনরাবৃত্তিমূলক উপনাম সম্প্রসারণকে প্রতিরোধ করে। এছাড়াও ব্যবহারকারী একই বাক্যবিন্যাস ব্যবহার করে কমান্ড লাইনে ডায়ার-এর অপরিবর্তিত আচরণ পেতে পারেনঃ * ডায়ার উপনাম পরিবর্তন উইন্ডোজ পাওয়ারশেলে, সেট ক্রিয়াটি একটি বিদ্যমান উপনাম পরিবর্তন করতে ওরফে সিএমডিলেটের সাথে ব্যবহার করা যেতে পারেঃ সেট-আলিয়াস সিআই সিএলএস উপনাম সিআই এখন সিএলএস কমান্ডের দিকে নির্দেশ করবে। 4ডিওএস/4এনটি শেল-এ, এসেট কমান্ড একটি বিদ্যমান উপনাম সম্পাদনা করার জন্য একটি ইন্টারেক্টিভ কমান্ড লাইন প্রদান করেঃ এসেট/এ সিপি দ্য/এ একই নামের পরিবেশ পরিবর্তনশীলের বিপরীতে উপনাম সিপি সম্পাদনা করার কারণ হয়। ইউনিক্স শেল এবং 4ডি. ও. এস/4এন. টি-তে, উপনাম অপসারণ ইউনালিয়াস কমান্ড কার্যকর করে অপসারণ করা যেতে পারেঃ ইউনালিয়াস কপি #কপি ওরফে ইউনালিয়াস-এ #দ্য-এ সুইচ সমস্ত উপনাম অপসারণ করবে; 4ডি. ও. এস/4এন. টি ইউনালিয়াসে উপলব্ধ নয় * #4ডি. ও. এস/4এন. টি সমতুল্য 'ইউনালিয়াস-এ'-ওয়াইল্ডকার্ড সমর্থিত উইন্ডোজ পাওয়ারশেলে, উপনামটি উপনাম থেকে অপসারণ করা যেতে পারেঃ 'ড্রাইভ' অপসারণ-আইটেম ব্যবহার করেঃ অপসারণ-আইটেম উপনামঃ সি. আই. #অপসারণ করে উপনাম বৈশিষ্ট্য চেইনিং একটি উপনাম সাধারণত কেবল প্রথম শব্দটিকে প্রতিস্থাপন করে। কিন্তু কিছু শেল, যেমন এবং, একটি ক্রম বা শব্দ প্রতিস্থাপনের অনুমতি দেয়। এই বিশেষ বৈশিষ্ট্যটি ফাংশন পদ্ধতির মাধ্যমে অনুপলব্ধ। সাধারণ বাক্যবিন্যাস হল প্রথম উপনামটিকে একটি পিছনের স্থানের অক্ষর দিয়ে সংজ্ঞায়িত করা। উদাহরণস্বরূপ, দুটি উপনাম ব্যবহার করেঃ উপনাম তালিকা = 'ls' #একটি দীর্ঘ তালিকার জন্য চেইনিং ওরফে লং = '-ফ্ল্যাশ' #বিকল্পগুলি ls-এ ট্রিগার করার জন্য পিছনের স্থানটি নোট করুনঃ দীর্ঘ তালিকার জন্য লম্বা মাইফাইল #"ls-ফ্ল্যাশ মাইফাইল" হয়ে যায় যখন একটি দীর্ঘ তালিকার জন্য চালানো হয়, যেখানে "লং" একটি উপনাম হিসাবেও মূল্যায়ন করা হয়। কমান্ড আর্গুমেন্ট সি শেল-এ, স্ট্রিং ব্যবহার করে কমান্ডের ভিতরে আর্গুমেন্ট এম্বেড করা যেতে পারে। উদাহরণস্বরূপ, এই উপনামের সাথেঃ উপনাম ls-more 'ls\! *। আরও 'এলএস-মোর/ইত্যাদি/ইউএসআর' কে প্রসারিত করে এলএস/ইত্যাদি/ইউএসআর। আরও করা হয় যাতে ডিরেক্টরি/ইত্যাদি এবং/ইউএসআর-এর বিষয়বস্তু তালিকাভুক্ত করা যায়, প্রতিটি স্ক্রিনফুলের পরে বিরতি দেওয়া হয়। এলিয়াস ছাড়া, 'এলএস-মোর' 'এলএস। মোর' পরিবর্তে এলএস। মোর/ইত্যাদি/ইউএসআর-এ প্রসারিত হবে যা ভুলভাবে ডিরেক্টরিগুলি আরও খোলার চেষ্টা করে। এর পরিবর্তে ব্যাশ এবং কর্ন শেল শেল ফাংশন ব্যবহার করে-নীচের বিকল্পগুলি দেখুন। বিকল্প উপনামগুলি সাধারণত সহজ রাখা উচিত। যেখানে এটি সহজ হবে না, সেখানে সাধারণত নিম্নলিখিতগুলির মধ্যে একটি ব্যবহার করার পরামর্শ দেওয়া হয়ঃ শেল স্ক্রিপ্ট, যা মূলত নতুন সিস্টেম কমান্ড তৈরি করার সম্পূর্ণ ক্ষমতা প্রদান করে। ব্যবহারকারীর পিএটিএইচ-এ প্রতীকী লিঙ্ক (যেমন/বিন)। এই পদ্ধতিটি কমান্ড কল করার একটি অতিরিক্ত উপায় প্রদানের জন্য দরকারী, এবং কিছু ক্ষেত্রে অল্প সংখ্যক কমান্ডের জন্য একটি সমাহিত কমান্ড ফাংশনে অ্যাক্সেসের অনুমতি দিতে পারে যা অপারেশনের মোড নির্বাচন করতে তাদের আহ্বানের নাম ব্যবহার করে। শেল ফাংশন, বিশেষত যদি তৈরি করা কমান্ডটির শেলের অভ্যন্তরীণ রানটাইম পরিবেশ (যেমন এনভায়রনমেন্ট ভেরিয়েবল) পরিবর্তন করার প্রয়োজন হয়, তবে শেলের বর্তমান কার্যকরী ডিরেক্টরিটি পরিবর্তন করতে হবে, বা এমনভাবে প্রয়োগ করতে হবে যা নিশ্চিত করে যে এটি একটি ইন্টারেক্টিভ শেল ছাড়া অন্য যে কোনও কিছুর জন্য কমান্ড অনুসন্ধান পথে প্রদর্শিত হবে (বিশেষত এর যে কোনও "নিরাপদ" সংস্করণ, ইত্যাদি)। উপনামগুলির সবচেয়ে সাধারণ রূপ, যা শুধুমাত্র একটি কমান্ডে কয়েকটি বিকল্প যোগ করে এবং তারপরে বাকি কমান্ড লাইনটি অন্তর্ভুক্ত করে, এই প্যাটার্নটি অনুসরণ করে সহজেই শেল ফাংশনে রূপান্তরিত করা যেতে পারেঃ উপনাম ll = 'ls-Flas' #লং লিস্টিং, ওরফে ll () {ls-Flas '$@;} #লং লিস্টিং, ফাংশন একটি ফাংশনকে পুনরাবৃত্তিমূলকভাবে কল করা থেকে বিরত রাখতে, কমান্ড ব্যবহার করুনঃ ls () {কমান্ড ls-- রঙ = স্বয়ংক্রিয় "$@";} পুরানো বোর্ন শেলগুলিতে কমান্ড ls এর পরিবর্তে/বিন/ls ব্যবহার করুন। রেফারেন্স আরও পড়ার বাহ্যিক লিঙ্ক ব্যাশ ম্যান পেজ ওরফে দ্য এলিয়াজ কমান্ড বাই দ্য লিনাক্স ইনফরমেশন প্রজেক্ট (এলআইএনএফও) আলিয়াস আইবিএম আই কিউশেল কমান্ড রিঅ্যাক্টওএস কমান্ড উইন্ডোজ কমান্ড ইউনিক্স এসইউএস2008 ইউটিলিটি উইন্ডোজ প্রশাসন