আপনি যদি জিএনইউ/লিনাক্স সিস্টেমের সবচেয়ে বেশি সুবিধা পেতে চান এবং কমান্ড লাইনে যত বেশি কাজ করে, তত বেশি কেউ দেখতে পাবে যে বেশিরভাগ কমান্ড ব্যবহার করা হচ্ছে উপলব্ধ কমান্ডের ছোট উপসেট। বেশিরভাগ কাজই অভ্যাসগত এবং ব্যবহারকারীর জন্য আপনি প্রতিদিন একইভাবে চালাতে পারেন।
যদিও অনেক সাধারণ কমান্ড ইউটিলিটির নির্মাতারা সংক্ষিপ্ত নাম ব্যবহার করে বহিরাগত টাইপিং বাদ দেওয়ার চেষ্টা করেছেন যেমন তালিকার পরিবর্তে আমরা টাইপ করি “ls ” এবং পরিবর্তন-ডিরেক্টরির পরিবর্তে আমরা “cd টাইপ করি ” উপরন্তু, অনেক লিনাক্স ব্যবহারকারীদের প্রায়ই একটি কমান্ড বারবার ব্যবহার করতে হয়। একই কমান্ড বারবার টাইপ/কপি করলে উৎপাদনশীলতা হ্রাস পাবে এবং ব্যবহারকারীকে প্রকৃত কাজ থেকে বিভ্রান্ত করবে।
আমরা যদি সেই দীর্ঘ কমান্ড টাইপ করার জন্য কম সময় ব্যয় করি তবে এটি দুর্দান্ত হবে। কমান্ড লাইনে আপনার সময় কমানোর জন্য আমাদের কাছে দুটি শক্তিশালী উপায় রয়েছে তা হল শেল উপনাম এবং ফাংশন, এই দুটি ব্যবহার করে, ব্যবহারকারী পুনরাবৃত্তিমূলক কাজগুলিকে নিয়ন্ত্রণ করতে পারে, দীর্ঘ প্রক্রিয়াগুলিকে সংক্ষিপ্ত করতে পারে এবং ব্যবহারকারীর সর্বদা ব্যবহার করা বিকল্পগুলির সাথে কাস্টমাইজড কমান্ডগুলি কনফিগার করতে পারে এবং মনে রাখতে সংগ্রাম করতে পারে৷
আপনি আপনার নির্দিষ্ট প্রয়োজন অনুসারে আপনার কমান্ডগুলিকে সংজ্ঞায়িত করতে পারেন এবং পুনরাবৃত্তিমূলক কাজের বোঝা কমাতে পারেন৷
উপনাম এবং শেল স্ক্রিপ্ট যেমন ফাংশন একই ধরণের কাজ করে। তারা আপনাকে ব্যাশ শেল কার্যকারিতার একটি সেট - এবং নাম - সংজ্ঞায়িত করার অনুমতি দেয় যা তারপরে আপনি এটিকে যে নাম দিয়েছেন তা দ্বারা কলযোগ্য। আপনি যখনই সেগুলি ব্যবহার করতে চান তখন সমস্ত ধাপ বা কমান্ড টাইপ করার চেয়ে নাম টাইপ করা সহজ এবং আরও সুবিধাজনক৷
একটি উপনাম এবং একটি ফাংশনের মধ্যে পার্থক্য হল জটিলতা এবং স্কেল। স্ক্রিপ্টগুলি কোডের দীর্ঘ এবং আরও বিস্তৃত অংশগুলি ধরে রাখতে ভাল। উপনামগুলি সংক্ষিপ্ত, আরও সংক্ষিপ্ত, কমান্ডের সেট ধরে রাখার জন্য উপযুক্ত।
শেল উপনাম
একটি শেল উপনাম হল একটি কাস্টম শর্টকাট যা কাস্টম বিকল্পগুলির সাথে বা ছাড়াই কার্যকর করা কমান্ড বা কমান্ডের সেটকে উল্লেখ করার জন্য। এই উপনামগুলি হল বিকল্প, সহজে মনে রাখার মতো দীর্ঘ কমান্ডের নাম যা আপনাকে ঘন ঘন কার্যকর করতে হবে। আপনি যখন কমান্ড লাইনে টাইপ করেন, শেল প্রথমে তার উপনামের তালিকায় আপনি যা লিখেছেন তা সন্ধান করে। যদি একটি মিল পাওয়া যায়, তাহলে এটি তার সংশ্লিষ্ট পাঠ্যের সাথে উপনাম দ্বারা প্রতিস্থাপিত হবে; এটি সম্পূর্ণ করার পরে, এটি আবার পুরো ফলাফলের কমান্ড লাইনটি দেখবে এবং এটি কার্যকর করবে৷
সম্ভবত আপনি ইতিমধ্যেই উপানাম ব্যবহার করেছেন৷ লিনাক্স সিস্টেমে যেহেতু বেশিরভাগ লিনাক্স ডিস্ট্রিবিউশনগুলি “.bashrc”-এ ডিফল্টভাবে অন্তত কিছু জনপ্রিয় উপনাম যোগ করে। ব্যবহারকারীর অ্যাকাউন্টের ফাইল।
উনামের বাইরে:শেল ফাংশন
অনুরূপ কিন্তু অভিন্ন কোডের ব্লকগুলিকে উপনাম দ্বারা প্রতিস্থাপন করা যাবে না। তারা ত্রুটিগুলি পরিচালনা করতে পারে না বা কাস্টম প্রস্থান কোড ফেরত দিতে পারে না, প্রবাহ নিয়ন্ত্রণ করতে পারে না বা ভেরিয়েবল ব্যবহার করতে পারে না। আপনি যদি এইগুলির মধ্যে কোনটি করতে চান তবে এটি শেল ফাংশনগুলি ব্যবহার করার সময়।
শেল ফাংশন হল কোড ব্লক সম্পূর্ণ সাব-স্ক্রিপ্ট হিসাবে গঠন করা, একবার লিখিত এবং যেকোন স্ক্রিপ্ট থেকে আমন্ত্রণ করা প্রয়োজন।
উনামের সিনট্যাক্স:
ব্যাশে উপনাম তৈরি করা খুব সোজা। সিনট্যাক্স নিম্নরূপ:
alias alias_name="command_to_run"
বর্তমান সেশনে একটি নতুন ব্যাশ উপনাম তৈরি করতে
- “অ্যালিয়াস টাইপ করুন ”
- তারপর উপনামের নাম ঘোষণা করুন
- একটি সমান চিহ্ন দ্বারা অনুসরণ করা হয়
- এবং উপনাম বলা হলে যে কমান্ডটি চলবে।
কমান্ডটি অবশ্যই উদ্ধৃতিতে আবদ্ধ থাকতে হবে এবং সমান চিহ্নের চারপাশে কোন ফাঁকা নেই। এখানে স্পেস কমান্ড ভঙ্গ করবে। প্রতিটি উপনাম একটি নতুন লাইনে ঘোষণা করতে হবে।
উদাহরণের মাধ্যমে বিষয়টি পরিষ্কার করা যাক। লিনাক্স কমান্ড লাইনে, সবচেয়ে বেশি ব্যবহৃত একটি কমান্ড হল “ls ” বেশিরভাগ ক্ষেত্রে “ls” কমান্ডটি “la এর সাথে ব্যবহার করা হয় ” সুইচ করুন যা দীর্ঘ তালিকার বিন্যাসে লুকানো ফাইল সহ সমস্ত ফাইল এবং ডিরেক্টরির তালিকা করবে। এখন আমরা একটি সাধারণ ব্যাশ ওরফে “ll তৈরি করব ” যেটি ls -la-এর একটি শর্টকাট হবে আদেশ।
- একটি টার্মিনাল উইন্ডো খুলুন
- প্রকার:
alias ll="ls -la"
এবং এন্টার টিপুন
- এখন কনসোলে টাইপ করুন “ll ” এবং enter টিপুন
- আউটপুট ls -la টাইপ করার মতই হবে।
উপরে-সংজ্ঞায়িত উপনাম "ll' শুধুমাত্র বর্তমান শেল সেশনে উপলব্ধ হবে। আপনি যদি সেশন বন্ধ করেন বা অন্য টার্মিনাল থেকে একটি নতুন সেশন উইন্ডো শুরু করেন তবে উপরে-সংজ্ঞায়িত উপনাম "ll" উপলব্ধ হবে না৷
কিভাবে উপনাম ক্রমাগত করা যায় তা নিয়ে আমরা পরে আলোচনা করব। এখানে উদাহরণগুলি ব্যাশ শেলের জন্য, তবে সমস্ত ধারণা এবং বেশিরভাগ কোড অন্যান্য শেলগুলির জন্যও বৈধ৷
পূর্বনির্ধারিত উপনাম
কিছু উপনাম আপনার জন্য পূর্বনির্ধারিত। সিস্টেমে সংজ্ঞায়িত সমস্ত উপনামের তালিকা জানার জন্য, আমরা কোনো পরামিতি ছাড়াই "অ্যালিয়াস" কমান্ড ব্যবহার করব:
alias
এই নিবন্ধটি গবেষণা করা হয়েছিল উবুন্টু পরীক্ষা মেশিনের উপনাম। এছাড়াও, যেকোনো কাস্টম-সংজ্ঞায়িত উপনাম, এই তালিকায়ও দেখাবে।
ls কমান্ডের জন্য বিভিন্ন উপনামের একটি গুচ্ছ রয়েছে এবং উপনামের একটি গ্রুপ রয়েছে যা কমান্ডের গ্রেপ পরিবারে রঙ আউটপুট প্রদান করে যেমন উপরের মত সংজ্ঞায়িত উপনাম সহ, যখনই আপনি টাইপ করুন:
grep
এটি এভাবে ব্যাখ্যা করা হবে:
grep --color=auto
এটি উপনামের সাথে একটি গুরুত্বপূর্ণ পয়েন্ট দেখায়। তাদের বিদ্যমান কমান্ডের মতো একই নাম থাকতে পারে। এমনকি তারা নিজেদের মধ্যে মূল কমান্ড ধারণ করতে পারে।
এখানে গ্রেপ অরফের সংজ্ঞা।
alias grep='grep --color=auto'
- অ্যালিয়াস কমান্ড একটি উপনাম সংজ্ঞায়িত করতে ব্যবহৃত হয়।
- উনামের নাম পরবর্তী দেওয়া হয়েছে। এই উদাহরণে, এটি হল “grep”।
- সমান চিহ্নটি উপনামের নামকে body-এর সাথে সংযুক্ত করে উপনামের খুব সাধারণ উপনামের জন্য, উপনামের মূল অংশটি একক উদ্ধৃতি চিহ্নের মধ্যে আবদ্ধ থাকে ‘।
- কমান্ড লাইনে উপনাম ব্যবহার করার সময় উপনামের মূল অংশটি কার্যকর করা হয়।
- এই উপনামের মূল অংশটি গ্রেপ কমান্ডকে –color=auto বিকল্প দিয়ে কল করে।
সতর্ক উপনাম
তালিকার শীর্ষে, সতর্কতা নামে একটি জটিল চেহারার উপনাম রয়েছে . দ্রুত একপাশে, এবং যাতে আপনি জানেন যে এটি কী করে, একটি কমান্ড শেষ হলে আপনাকে জানানোর জন্য সতর্কতা উপনাম ব্যবহার করা হয়। এটি নির্দেশ করে যে কমান্ড সফলভাবে সম্পন্ন হয়েছে কিনা। এটি স্ক্রিনের শীর্ষে একটি গ্রাফিকাল সিস্টেম সতর্কতা প্রদান করে৷
এখানে একটি সহজ উদাহরণ। স্লিপ কমান্ডটি পাঁচ সেকেন্ডের জন্য ঘুমাবে।, সতর্ক উনামটি তখন বলা হবে। উপনাম পূর্ববর্তী কমান্ড থেকে প্রতিক্রিয়া চেক করে। এটি ইতিহাস ফাইল থেকে শেষ কমান্ড বের করে। কমান্ড সফলভাবে সম্পন্ন হয়েছে কিনা তা নির্ধারণ করে। এটি তারপর একটি সিস্টেম সতর্কতায় ফলাফল উপস্থাপন করে৷
কমান্ডটি প্রত্যাশিতভাবে সম্পন্ন হলে, সিস্টেম সতর্কতার আইকনটি একটি ছোট টার্মিনাল উইন্ডো। যদি কমান্ডটি একটি ত্রুটি কোড ফেরত দেয়, তবে সিস্টেম সতর্কতার আইকনটি একটি লাল ত্রুটি আইকন৷
sleep 5; alert
পাঁচ সেকেন্ড পরে, আমরা এই সিস্টেম সতর্কতা দেখতে পাই:
আইকনটি একটি ছোট টার্মিনাল উইন্ডো, যার অর্থ সবকিছু ঠিকঠাক হয়েছে৷ আসুন একটি কমান্ড দিয়ে আবার চেষ্টা করি যা আমরা জানি যে ব্যর্থ হবে:
DoomedToFail; alert
আমাদের সিস্টেম সতর্কতায় এখন একটি ত্রুটি আইকন রয়েছে৷
৷একটি তুচ্ছ উপনাম সংজ্ঞায়িত করা
আমরা যেমন দেখেছি, একটি উপনাম সংজ্ঞায়িত করতে, আমরা উপনাম কমান্ড ব্যবহার করি।
আমরা ক্লিয়ার কমান্ডের জন্য একটি ছদ্মনাম তৈরি করতে যাচ্ছি। আমাদের উপনাম বলা হবে cls এবং এটিকে ক্লিয়ার কমান্ড বলা হবে।
আমাদের উপনামের সংজ্ঞা এতটাই তুচ্ছ যে এটি একক উদ্ধৃতি চিহ্নে মোড়ানোর নিশ্চয়তা দেয় না। যদি উপনামের মূল অংশটি এর চেয়ে জটিল হয়, বা যদি এতে স্পেস থাকে তবে এটিকে একক উদ্ধৃতিতে মোড়ানো। আমরা উপনাম সংজ্ঞায়িত করব, টার্মিনাল উইন্ডোতে কিছু আউটপুট দিতে ls ব্যবহার করব এবং তারপর স্ক্রীনটি পরিষ্কার করতে আমাদের নতুন উপনাম cls ব্যবহার করব।
alias cls=clear ls -l cls
পর্দা পরিষ্কার করা হয়. সফলতা, স্বল্পস্থায়ী হলেও। এই টার্মিনাল উইন্ডোটি যতক্ষণ খোলা থাকবে ততক্ষণ উপনামটি বেঁচে থাকবে। একবার উইন্ডোটি বন্ধ হয়ে গেলে, উপনামটি অদৃশ্য হয়ে যাবে৷
“.bashrc” ফাইল ব্যবহার করে উপনাম স্থায়ী করতে
আপনি হয়তো ভাবছেন যে প্রাক-প্যাকেজ করা উপনামগুলি কোথায় সংজ্ঞায়িত করা হয়েছে। এটি আপনার হোম ফোল্ডারে ".bashrc" ফাইলে রয়েছে। এই ফাইলটি পড়া হয়, এবং যখনই আপনি একটি ইন্টারেক্টিভ শেল শুরু করেন তখন এর ভিতরের কমান্ডগুলি কার্যকর হয়। যখন আপনি একটি টার্মিনাল উইন্ডো খোলেন তখন।
সিনট্যাক্স হাইলাইটিং সহ “.bashrc” ফাইলের বিষয়বস্তু দেখতে আপনার হোম ফোল্ডারে নিম্নলিখিত কমান্ডটি টাইপ করুন৷
gedit .bashrc
এটি gedit চালু করবে৷ এটিতে লোড করা “.bashrc” ফাইল সহ সম্পাদক।
হাইলাইট করা এলাকা দুটি এলাকা দেখায় যেখানে উপনাম সংজ্ঞায়িত করা হয়েছে।
নথির মাধ্যমে স্ক্রোল করলে উপনাম সম্পর্কিত আরও দুটি বিভাগ প্রকাশ পাবে:
এর মধ্যে প্রথমটি হল সতর্কতার উপনামের সংজ্ঞা। দ্বিতীয়টি হল একটি if বিবৃতি। এটি অনুবাদ করে, “যদি ফাইল “.bash_aliases " বিদ্যমান, এটি পড়ুন।"
আপনার যদি শুধুমাত্র কয়েকটি উপনাম থাকে যা আপনি সংজ্ঞায়িত করতে চান, আপনি সেগুলিকে আপনার ".bashrc" ফাইলে রাখতে পারেন। সেগুলিকে ls উপানাগুলি সম্বলিত বিভাগে নীচে রাখুন।
আপনি যদি অনেকগুলি উপনাম তৈরি করতে যাচ্ছেন, বা আপনি নিজের ফাইলের মধ্যে আপনার উপনামগুলিকে এনক্যাপসুলেট করার ধারণাটি পছন্দ করেন তবে আপনি সেগুলিকে আপনার ".bash_aliases" ফাইলে সংজ্ঞায়িত করতে পারেন। আপনার ".bash_aliases" ফাইলে এগুলি তৈরি করার একটি সুবিধা হল আপনি ভুলবশত ".bashrc" ফাইলের কোনো সেটিংস পরিবর্তন করতে পারবেন না। আরেকটি সুবিধা হল আপনার উপনামগুলি সহজেই নতুন সিস্টেমে অনুলিপি করা হয় কারণ সেগুলি “.bashrc” ফাইল থেকে আলাদা করা হয়েছে৷
উপনামটি এমনভাবে নামকরণ করা উচিত যাতে মনে রাখা সহজ হয়। ভবিষ্যতের রেফারেন্সের জন্য একটি মন্তব্য যোগ করারও সুপারিশ করা হয়৷
৷.bash_aliases ফাইলে উপনাম সংরক্ষণ করা হচ্ছে
".bash_aliases" ফাইলটি ডিফল্টরূপে বিদ্যমান নেই, আপনাকে এটি তৈরি করতে হবে। আপনি এই কমান্ড দিয়ে ফাইল তৈরি করতে পারেন:
touch .bash_aliases
আসুন ফাইলটি সম্পাদনা করি এবং এতে কয়েকটি উপনাম যোগ করি। এই কমান্ডটি gedit এডিটরে “.bash_aliases” ফাইল খুলবে।
gedit .bash_aliases
আমরা তিনটি উপনাম যোগ করেছি। প্রথমটি হল আমাদের cls উপনাম যা আমরা আগে ব্যবহার করেছি। পরেরটিকে h. বলা হয় এবং ইতিহাস কমান্ডকে কল করার একটি সংক্ষিপ্ত উপায়।
তৃতীয় উপনামটিকে ftc বলা হয় . এর মানে হল "ফাইল টাইপ কাউন্ট।"
এই উপনামটি আরও জড়িত, তাই এটি একক উদ্ধৃতি চিহ্নে মোড়ানো। এটি পাইপ দ্বারা একসাথে সংযুক্ত কমান্ডের একটি চেইন ব্যবহার করে। এটি প্রতিটি তালিকা এন্ট্রির জন্য একটি গণনা সহ বিভিন্ন ফাইল এক্সটেনশন এবং ডিরেক্টরি নামের একটি সাজানো তালিকা তৈরি করে৷
যখন আমরা ".bash_aliases" ফাইলটি সংরক্ষণ করি, তখন আমরা আশা করতে পারি আমাদের উপনামগুলি লাইভ এবং অ্যাক্সেসযোগ্য হবে। ব্যাপারটা এমন নয়। উপনামের সংজ্ঞাগুলি লাইভ হওয়ার আগে ফাইলটিকে ব্যাশ শেল দ্বারা পড়তে হবে। এটি করা হয় যখনই একটি ইন্টারেক্টিভ শেল খোলা হয়৷
আমরা বিল্ট-ইন ব্যাশ শেলও ব্যবহার করতে পারি। একটি ফাইলের কমান্ডগুলি পড়তে এবং চালানোর জন্য। যেহেতু আমাদের ".bash_alias" ফাইলটি পড়া হয় যখন ".bashrc" প্রক্রিয়া করা হয়, আমাদের ".bashrc" কল করে আমাদের পরীক্ষা করা উচিত। এইভাবে আমরা পরীক্ষা করতে পারি যে ".bash_alias" ফাইলটিকে ".bashrc" থেকে কল করা হয়েছে এবং আমাদের উপনামগুলি জীবিত এবং ভাল আছে৷
আমরা যে কমান্ডগুলি ব্যবহার করেছি তা হল:
gedit .bash_aliases
".bash_aliases" ফাইলটি সম্পাদনা করতে।
. .bashrc
এটি ".bashrc" এর মধ্যে কমান্ডগুলি পড়বে এবং কার্যকর করবে, যাকে ".bash_aliases" বলা হবে৷
ftc
এটিকে ftc অরফে বলা হবে।
আমাদের উপনাম উত্তর দেয় যার অর্থ ব্যাশ ".bashrc" এবং ".bash_aliases" উভয়েই পড়েছে এবং আমাদের নতুন উপনামগুলি এখন লাইভ৷
আপনি এখন এগিয়ে যেতে পারেন এবং ".bash_aliases" ফাইলে নতুন উপনাম যোগ করতে পারেন যেমন সেগুলি আপনার কাছে আসে৷ আপনি যদি নিজেকে একবার বা দুইবারের বেশি কাজ করতে দেখেন, তাহলে এটির জন্য একটি উপনাম তৈরি করার কথা বিবেচনা করুন৷
উপানাপগুলি সরানো হচ্ছে৷
উপনাম মুছে ফেলার জন্য একটি নির্দেশ রয়েছে যাতে ব্যাশ তাদের চিনতে না পারে বা তাদের প্রতিক্রিয়া জানায় না। রিফ্রেশিংভাবে স্পষ্টভাবে, কমান্ডটিকে বলা হয় unalias .
এটি ব্যবহার করতে, আপনি ব্যাশ ভুলে যেতে চান তার নাম দিন। ব্যাশকে আমাদের ftc উপায় ভুলে যাওয়ার জন্য, Unalias উদাহরণ ব্যবহার করুন পূর্বে ব্যবহৃত “ll ” কমান্ড:
unalias ll
আপনার সংজ্ঞায়িত উপনাম এবং পূর্বনির্ধারিত উপনামগুলির যেকোনো একটি অপসারণ করতে আপনি অনালিয়স ব্যবহার করতে পারেন।
আপনার সিস্টেম থেকে সমস্ত উপনাম সরাতে, -a (সমস্ত) বিকল্পটি ব্যবহার করুন:
unalias -a
যদিও বাশের স্মৃতিশক্তির ক্ষতি স্থায়ী হবে না। পরের বার যখন আপনি একটি টার্মিনাল উইন্ডো খুলবেন, "ভুলে যাওয়া" উপনামগুলি ফিরে আসবে৷ এগুলিকে সত্যিকার অর্থে মুছে ফেলার জন্য আপনাকে আপনার ".bashrc" এবং ".bash_alias" ফাইলগুলি থেকে সেগুলি সরাতে হবে৷
আপনি যদি মনে করেন যে আপনি কখনও সেগুলি ফিরে পেতে চান, তাহলে আপনার ".bashrc" ফাইল থেকে সেগুলি মুছে ফেলবেন না৷ পরিবর্তে, প্রতিটি উপনাম লাইনের শুরুতে একটি হ্যাশ # যোগ করে তাদের মন্তব্য করুন। আপনার “.bash_alias” ফাইলটিকে অকার্যকর করতে, এটির নাম পরিবর্তন করুন। যদি আপনার ".bashrc" ফাইলটি এটি দেখতে না পায়, তাহলে এটি এটি পড়তে পারবে না৷ আপনার উপনামগুলি পুনঃস্থাপন করার জন্য এই পদক্ষেপগুলি উল্টানো একটি তুচ্ছ ব্যাপার৷
সাময়িকভাবে একটি উপনাম বাইপাস করার জন্য (বলুন আমরা ls-কে ls -a করেছি), আমরা টাইপ করতে পারি:
\ls
ফলস্বরূপ, সাধারণ কমান্ড বলা হবে, উপনাম সংস্করণ নয়।
অ্যালিয়াস কমান্ডের জন্য সাহায্য:
- –সহায়তা বিকল্প :এটি সাহায্য তথ্য প্রদর্শন করে৷
সিনট্যাক্স:
alias --help
শেল ফাংশন
কখনও কখনও একটি উপনাম যা এক বা একাধিক আর্গুমেন্ট গ্রহণ করতে পারে তা প্রয়োজন হয়, যখন ব্যাশ ফাংশন ব্যবহার করা হয়।
সিনট্যাক্স
ব্যাশ ফাংশন তৈরি করা খুব কঠিন নয়। নিম্নলিখিত দুটি ভিন্ন ফরম্যাটের যেকোনো একটিতে এগুলি ঘোষণা করা যেতে পারে:
function_name () { [commands] }
অথবা
function function_name { [commands] }
আমরা এই দ্বিতীয় ফর্মটিকে একটি লাইনে সংকুচিত করতে পারি এবং সেমিকোলন দিয়ে কমান্ডগুলিকে আলাদা করতে পারি। একটি সেমিকোলন অবশ্যই শেষ কমান্ডের পরেও আসুন:
function_name () { command1; command2; }
Lika উপনাম, Bash শেল ফাংশন ".bashrc" ফাইলের মধ্যে সংজ্ঞায়িত করা যেতে পারে, কিন্তু এটি তাদের নিজস্ব সংজ্ঞা ফাইলে রাখা প্রায়শই পরিষ্কার হয়। ".bash_aliases" ফাইলের জন্য ব্যবহৃত কনভেনশন অনুসরণ করে আমরা একে ".bash_functions" বলব।
তার মানে আমাদের সংজ্ঞায় পড়তে “.bashrc” ফাইলটি বলতে হবে। আমরা কোডের স্নিপেটটি কপি এবং সংশোধন করতে পারি যা ".bash_aliases" ফাইলে পড়ে। gedit চালু করুন এবং এই কমান্ডের সাথে ".bashrc" ফাইলটি লোড করুন:
gedit .bashrc
আপনাকে নীচে দেখানো হাইলাইট করা বিভাগটি যোগ করতে হবে।
আপনি উপনাম বিভাগটি হাইলাইট করতে পারেন এবং Ctrl+C টিপুন এবং তারপরে আপনি যেখানে নতুন বিভাগটি চান সেখানে যান এবং পাঠ্যের একটি অনুলিপি পেস্ট করতে Ctrl+V টিপুন। তারপর আপনাকে যা করতে হবে তা হল ".bash_aliases" তে ".bash_functions" বলে দুটি জায়গা পরিবর্তন করুন৷
আমরা সেই পরিবর্তনগুলি সংরক্ষণ করতে পারি এবং জিডিট বন্ধ করতে পারি।
এখন আমরা ".bash_functions" ফাইল তৈরি ও সম্পাদনা করতে যাচ্ছি, এবং এতে একটি ফাংশন সংজ্ঞা রাখব।
touch .bash_functions gedit .bash_functions
এটি gedit এ খালি “.bash_functions” ফাইলটি খুলবে।
আমরা নামক একটি সাধারণ ফাংশন যোগ করতে যাচ্ছি। up একটি একক কমান্ড লাইন প্যারামিটার নেবে, যা একটি সংখ্যা। up তারপর cd .. সেই সংখ্যায় কল করবে। সুতরাং, আপনি যদি কমান্ড ব্যবহার করেন
up 2
up cd .. কে দুবার কল করবে এবং ডিরেক্টরি ট্রিতে দুটি স্তর উপরে যাবে।
একটি ফাংশন সংজ্ঞায়িত করার বিভিন্ন উপায় আছে। এখানে একটি:
function up() {
ফাংশন শব্দটি ঐচ্ছিক। আপনি যদি ঐতিহ্যবাদী হন তবে এটি ব্যবহার করুন, যদি আপনি এটি টাইপ করতে বিরক্ত না হন তবে এটি ছেড়ে দিন।
এখানে gedit-এ আমাদের সম্পূর্ণ ফাংশন রয়েছে:
function up() {
এটি আমাদের ফাংশনের সংজ্ঞার শুরুকে চিহ্নিত করে, এবং এটি ফাংশনের নামকরণ করে।
levels=$1
এটি স্তর নামে একটি পরিবর্তনশীল তৈরি করে এবং এটিকে প্রথম প্যারামিটারের মান নির্ধারণ করে। এই প্যারামিটারটি ব্যবহারকারীর দ্বারা প্রদত্ত একটি সংখ্যা হতে চলেছে যখন তারা ফাংশনটি কল করবে। $1 মানে "প্রথম কমান্ড লাইন প্যারামিটার।"
while [ "$levels" -gt "0" ]; do
তারপরে আমরা একটি লুপ প্রবেশ করি যা তারপরে অনুবাদ করবে “when “value "স্তরের ” ধনাত্মক বা শূন্যের চেয়ে বড়, লুপের বডিতে যা আছে তা করুন।”
লুপের শরীরের ভিতরে, আমাদের দুটি কমান্ড আছে। তারা হল:
cd ..
ডিরেক্টরি ট্রিতে একটি স্তর উপরে সরান।
levels=$(($levels - 1))
লেভেলগুলিকে একটি নতুন মান সেট করুন, যা বর্তমান মানের থেকে একটি কম।
তারপরে আমরা লুপের শীর্ষে ফিরে যাই, স্তরের মান এবং শূন্যের মধ্যে তুলনা আরও একবার করা হয়। যদি "স্তর" শূন্যের বেশি হয়, লুপের বডি আবার কার্যকর করা হয়। যদি এটি ধনাত্মক না হয় বা শূন্যের চেয়ে বেশি হয়, লুপটি শেষ হয়ে যায় এবং আমরা সম্পন্ন বিবৃতিতে চলে যাই এবং ফাংশনটি শেষ হয়৷
সংরক্ষণ করুন৷ এই পরিবর্তনগুলি এবং gedit বন্ধ করুন .
আমরা ".bashrc"-এ কমান্ডগুলি পড়ব এবং এক্সিকিউট করব যা আমাদের ".bash_functions" ফাইলের কমান্ডগুলি পড়তে হবে এবং চালাতে হবে৷
. .bashrc
আমরা ডাইরেক্টরি ট্রির কিছু জায়গায় গিয়ে এবং ডাইরেক্টরি ট্রিতে একটি "উচ্চতর" পয়েন্টে ফিরে যাওয়ার জন্য আপ ব্যবহার করে ফাংশনটি পরীক্ষা করতে পারি।
cd ./work/backup/ up 2
ফাংশন কাজ করে। আমরা গাছের মধ্যে দুটি ডিরেক্টরি স্তর উঁচুতে সরিয়ে নিয়েছি।
টাইপ সহ নজর রাখা
আপনি যখন উপনামের একটি স্যুট এবং ফাংশনগুলির একটি লাইব্রেরি তৈরি করেন, তখন এটি মনে রাখা কঠিন হতে পারে যে একটি নির্দিষ্ট কমান্ড একটি উপনাম নাকি একটি ফাংশন। আপনি "টাইপ" ব্যবহার করতে পারেন৷ আপনাকে স্মরণ করিয়ে দেওয়ার জন্য আদেশ। এখানে চমৎকার জিনিস হল যে আপনি সংজ্ঞাটিও দেখতে পাবেন।
আমাদের ftc -এ টাইপ ব্যবহার করা যাক উপনাম এবং আমাদের আপ ফাংশন।
type ftc type up
আমরা একটি খুব দরকারী অনুস্মারক পেতে পারি প্রত্যেকটি কি ধরনের কমান্ড, তাদের সংজ্ঞা সহ।
সংগ্রহ করা শুরু করুন
উপনাম এবং ফাংশনগুলি আপনার কমান্ড লাইনের ব্যবহারের গতি বাড়িয়ে তুলতে পারে। তারা কমান্ড ক্রম সংক্ষিপ্ত করতে পারে, এবং তারা আপনাকে সেক-ইন করতে দেয় যা আপনি সর্বদা স্ট্যান্ডার্ড কমান্ডের সাথে ব্যবহার করেন। প্রতিবার যখন আপনি একটি নিফটি ওয়ান-লাইনার বা দরকারী ফাংশন দেখতে পান, আপনি এটিকে মানিয়ে নিতে এবং ব্যক্তিগতকৃত করতে পারেন এবং তারপরে এটি আপনার “.bash_aliases” বা “.bash_functions” ফাইলগুলিতে যুক্ত করতে পারেন। এগুলোর ব্যাপক ব্যবহার শেলের মধ্যে আপনার সময়কে আরও উপভোগ্য এবং কম জটিল করে তুলতে সাহায্য করতে পারে।
সম্ভাব্য ধ্বংসাত্মক আচরণের সাথে বিদ্যমান কমান্ডগুলিকে পুনরায় সংজ্ঞায়িত করার বিষয়ে সতর্ক থাকতে ভুলবেন না। এমনকি বিপরীত কাজ করা এবং একটি নিরাপদ ভেরিয়েন্টে একটি কমান্ডকে উপনাম করা (উদাহরণস্বরূপ, পুনরাবৃত্তভাবে মুছে ফেলার আগে সর্বদা নিশ্চিতকরণের জন্য জিজ্ঞাসা করা) আপনি যখন এটির উপর নির্ভর করতে এসেছেন একবার এটি ছাড়াই আপনি প্রথমবার সিস্টেমে থাকবেন তখন আপনাকে কামড় দিতে পারে। . উপনাম তৈরি করা ভাল হতে পারে এমন প্রার্থীদের খুঁজে পেতে, আপনার সবচেয়ে বেশি ব্যবহৃত কমান্ডগুলির জন্য আপনার ইতিহাস অনুসন্ধান করা একটি ভাল ধারণা হতে পারে৷