9. কাজের পরিবেশ

শেল হল আপনার কাজের পরিবেশের সর্বাপেক্ষা গুরুত্বপূর্ণ অংশ। সাধারণত ডস-এ যে শেলটি ব্যবহৃত হয় তার নাম command.com । কমান্ড লাইনে যেসব কমান্ড লেখা হয়, শেল তা থেকে আপনি কি করতে চান তা বুঝতে পারে ও অপারেটিং সিস্টেমকে জানায়। এছাড়া শেলে ব্যবহারের জন্য শেল স্ক্রিপ্টও লেখা যায় যা অনেকটা ডস-এর ব্যাচ ফাইল এর মতই। শেল স্ক্রিপ্টে অনেকগুলো কমান্ড লেখা থাকে এবং ব্যবহারকারীর হস্তক্ষেপ ছাড়াই কমান্ডগুলো চালানো হয়।

FreeBSD'তে প্রথম থেকেই cshsh নামে দুটি শেল ইনস্টল করা থাকে। কমান্ড লাইন থেকে কাজকর্মের জন্য csh শেল ভাল, তবে শেল স্ক্রিপ্ট লেখা উচিত্‍ sh (বা bash) শেলের জন্য। এমুহূর্তে কি শেল ব্যবহার করছেন তা জানতে চাইলে echo $SHELL কমান্ডটি ব্যবহার করুন।

শেল হিসেবে csh বেশ ভাল কিন্তু tcsh শেল csh এর সব কাজই করতে পারে এবং এটির আরো কিছু অতিরিক্ত সুবিধা আছে। tcsh শেল ব্যবহার করলে Arrow Key চেপে পূর্বে ব্যবহৃত কমান্ডগুলো খুজে বের করা ও এডিট করা যায়। এই শেলে ফাইলের নামের প্রথম কিছু অংশ লিখে tab চাপলে (csh এর ক্ষেত্রে Esc ) নামের অবশিষ্ট অংশ নিজে থেকেই লেখা হয়ে যায়। এছাড়া cd - লিখে সর্বশেষ ব্যবহৃত ডিরেক্টরিতে সরাসরি চলে যাওয়া যায়। এই শেলটির কমান্ড প্রম্পটকেও বেশ সহজেই পরিবর্তন করা যায়। সব মিলিয়ে tcsh শেলে কাজ করা বেশ সুবিধাজনক।

পরবর্তি তিনটি ধাপে একটি নতুন শেল ইনস্টল করার পদ্ধতি বর্ণিত হলঃ

  1. অন্যান্য সব পোর্ট বা প্যাকেজের মতই যে শেলটি ব্যবহার করতে চান তার পোর্ট বা প্যাকেজ ইনস্টল করুন। এখন প্রথমে rehash কমান্ড দিন ও পরে which tcsh (tcsh শেল ইনস্টলের ক্ষেত্রে) কমান্ড দিয়ে শেলটি আসলেই ইনস্টল হয়েছে কিনা তা নিশ্চিত হন ।

  2. root হিসেবে /etc/shells ফাইলটি এডিট করুন। ফাইলের শেষে নতুন শেলটির জন্য একটি লাইন যোগ করুন, এক্ষেত্রে যা হল /usr/local/bin/tcsh । এখন ফাইলটি সেভ করুন। (কিছু পোর্ট ইনস্টল হওয়ার সময় নিজে থেকেই এই পরিবর্তনগুলো সম্পন্ন হয়)

  3. স্থায়ীভাবে tcsh শেল ব্যবহার করতে চাইলে chsh কমান্ড ব্যবহার করুন। আর সাময়িকভাবে ব্যবহার করার ইচ্ছা থাকলে কমান্ড হিসেবে tcsh লিখুন। এর ফলে নতুন করে লগ ইন না করেই tcsh শেল ব্যবহার করতে পারবেন।

Note: বিভিন্ন ইউনিক্স বিশেষ করে FreeBSD'র পুরনো সংস্করণগুলোতে root এর শেল হিসেবে sh বা csh ব্যতীত অন্য কিছু ব্যবহারকরাটা বেশ বিপদজনক। কারণ অন্য কোন শেল ব্যবহার করলে, যখন single user mode এ কম্পিউটার ব্যবহারের প্রয়োজন হয়, তখন হয়তো কোন শেলই থাকবে না।দ্জতাই root এর শেল হিসেবে tcsh ব্যবহার করতে চাইলে su -m কমান্ড ব্যবহার করুন। এর ফলে tcsh শেল root এর Environment এর অংশ হয়ে যায়। আপনার home ডিরেক্টরির .tcshrc ফাইলে alias রূপে এই লাইনটি ব্যবহার করে স্থায়ীভাবে এধরনের ব্যবস্থা করতে পারেন,

     alias su su -m
   

tcsh শেল চালু হওয়ার সময় csh এর মতই /etc/csh.cshrc/etc/csh.login ফাইলদুটো পড়ে থাকে। যদি home ডিরেক্টরিতে কোন .tcshrc ফাইল না থাকে তবে সেখানকার .login.cshrc ফাইলদুটোও tcsh পড়বে। .tcshrc ফাইল তৈরীর একটি সহজ উপায় হল সরাসরি .cshrc'কে .tcshrc'তে কপি করা।

আপনার ব্যবহৃত শেলের প্রম্পট কিরকম দেখাবে, tcsh শেল ইনস্টলের পর আপনি এখন তা নির্ধারণ করতে পারেন। tcsh এর ম্যানুয়াল পেজে এসম্পর্কে বিস্তারিত বলা হয়েছে। এখানে প্রম্পট নির্ধারণের জন্য একটি লাইন উল্লেখ করা হল। .tcshrc ফাইলে এই লাইনটি লিখলে প্রম্পট থেকে জানা যাবে - এ পর্যন্ত ব্যবহৃত কমান্ড, সময় ও বর্তমান ডিরেক্টরির নাম। এছাড়া tcsh শেল ব্যবহার করলে সবসময়ই প্রম্পটের শেষে root এর জন্য # এবং সাধারণ ব্যবহারকারীর জন্য > দেখা যাবে। লাইনটি হলঃ

   set prompt "%h %t %~ %# "
     

যদি .tcshrc ফাইলে কোন “set prompt” লাইন থাকে, তবে সেখানে এই লাইনটি লিখুন। আর যদি না থাকে, তবে “if($?prompt) then” এর নিচে লাইনটি যোগ করুন। পুরনো লাইন থাকলে তা comment out করে দিন। এর ফলে পুরনো লাইনটিকে সহজেই ভবিষ্যতে ব্যবহার করতে পারবেন। এই পরিবর্তনগুলো করার সময় উল্লেখিন space ও quote গুলো ব্যবহার করতে ভুলবেন না। source .tcshrc কমান্ড প্রয়োগ করলে শেল নতুন করে .tcshrc ফাইলটি পড়বে।

সকল Environment Variable এর মান দেখতে হলে env কমান্ড ব্যবহার করুন। ফলস্বরূপ যে মানগুলো দেখতে পাবেন, তার মধ্যে উল্লেখযোগ্য হল ডিফল্ট এডিটর, পেজার, টার্মিনালের ধরন ইত্যাদি। যদি আপনি দূরবর্তী কোন কম্পিউটার থেকে লগ ইন করেন এবং টার্মিনালের অক্ষমতার কারণে কোন একটি প্রোগ্রাম চালাতে না পারেন, তবে খুবই কাজের একটি কমান্ড হল setenv TERM vt100