ম্যাক-এ এনভায়রনমেন্ট ভেরিয়েবল কোথায় সেট করবেন
কমান্ড লাইনে, এনভায়রনমেন্টাল ভেরিয়েবল বর্তমান শেলের জন্য সংজ্ঞায়িত করা হয় এবং যে কোন চলমান কমান্ড বা প্রক্রিয়া দ্বারা উত্তরাধিকারসূত্রে প্রাপ্ত হয়। তারা ডিফল্ট শেল, PATH, ব্যবহারকারীদের হোম ডিরেক্টরি থেকে শুরু করে টার্মিনাল এমুলেশন টাইপ, বর্তমান ওয়ার্কিং ডিরেক্টরি, যেখানে একটি ইতিহাস ফাইল অবস্থিত, ভাষা এবং স্থানীয়করণ সেটিংস এবং শেল ভেরিয়েবল অন্তর্ভুক্ত করার জন্য আরও কিছু নির্ধারণ করতে পারে, যার মধ্যে সবকিছু রয়েছে কাস্টমাইজেশন থেকে ব্যাশ প্রম্পটে, রঙিন ls আউটপুট, এবং টার্মিনাল উপস্থিতিতে পরিবর্তন, উপনামে এবং আরও অনেক কিছু।
আসুন কিভাবে পরিবেশ এবং শেল ভেরিয়েবলের তালিকা করা যায় এবং তারপর কিভাবে Mac OS X-এর কমান্ড লাইনে নতুন পরিবেশের ভেরিয়েবল সেট এবং যোগ করা যায় তা নিয়ে চলুন। আমরা bash এবং zsh শেল উভয়ের জন্য এটি কভার করব।
Mac OS X এ ব্যাশে বর্তমান পরিবেশ ও শেল ভেরিয়েবল প্রদর্শন করা হচ্ছে
দ্রুত পরিবেশগত ভেরিয়েবলের একটি তালিকা পেতে, আপনি ব্যাশের সাথে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:
printenv
zsh এ পরিবেশগত ভেরিয়েবল তালিকা করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন: env
অথবা ঐচ্ছিকভাবে:
echo $ENV_VAR
আপনি যদি শেল ভেরিয়েবলের সম্পূর্ণ তালিকা দেখতে চান, 'সেট' কমান্ডটিও জারি করা যেতে পারে:
সেট
এই কমান্ডগুলির আউটপুট দীর্ঘ হতে পারে তাই আপনি কম বা বেশি কমান্ডের মাধ্যমে আউটপুট পাইপ করতে চান৷
zsh এর সাথে macOS কমান্ড লাইনে পরিবেশগত ভেরিয়েবল সেট করা
Zsh শেল zshenv ফাইলের মাধ্যমে পরিবেশগত ভেরিয়েবল সেট করে, এখানে ব্যবহারকারীদের হোম ডিরেক্টরিতে অবস্থিত:
~/.zshenv
এইভাবে আপনি সেই ফাইলটিকে ন্যানো, ভিম ইত্যাদি দিয়ে পরিবর্তন করে বা ইকো ব্যবহার করে zsh পরিবেশগত ভেরিয়েবল যোগ করতে পারেন:
echo 'export ENV_VAR=example' >> ~/.zshenv
উদাহরণ স্বরূপ:
echo 'JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshenv
ব্যাশ সহ Mac OS X কমান্ড লাইনে পরিবেশগত ভেরিয়েবল সেট করা
যেহেতু ম্যাক ব্যাশ শেল ব্যবহার করার জন্য ডিফল্ট, আপনি ব্যবহারকারী ডিরেক্টরি .bash_profile-এ পরিবেশগত ভেরিয়েবল সেট করতে পারেন, একটি সক্রিয় ব্যবহারকারী অ্যাকাউন্টের জন্য ফাইলটির পথটি এখানে অবস্থিত:
~/.bash_profile
আপনি যদি আপনার শেল পরিবর্তন করেন বা আপনি কোন শেল ব্যবহার করছেন তা নিশ্চিত না হন, আপনি সর্বদা echo $SHELL কমান্ড ইস্যু করে চেক করতে পারেন, যা প্রদর্শন করবে কোন শেল ব্যবহার করা হচ্ছে। আমরা ধরে নিচ্ছি আপনি এখনও OS X ডিফল্ট ব্যাশ শেল ব্যবহার করছেন, এইভাবে আমরা ন্যানো দিয়ে .bash_profile পরিবর্তন করে নতুন পরিবেশের ভেরিয়েবল যোগ করব – আপনি চাইলে vi, emacs বা অন্য টেক্সট এডিটর ব্যবহার করতে পারেন, কিন্তু আমরা এর সরলতার জন্য ন্যানো কভার করব।
ন্যানো টেক্সট এডিটরের মধ্যে .bash_profile খুলে শুরু করুন:
nano .bash_profile
আপনি নতুন লাইনে এনভায়রনমেন্টাল ভেরিয়েবল এবং শেল ভেরিয়েবল যোগ করতে পারেন, যদি .bash_profile ফাইলের মধ্যে ইতিমধ্যেই ডেটা থাকে, শুধু তীর কী ব্যবহার করে একটি নতুন ফাঁকা লাইনে নতুন ভেরিয়েবল যোগ করতে ভুলবেন না। প্রয়োজনে কী ফেরত দিন।
আসুন একটি উদাহরণ নেওয়া যাক এবং বলি আমরা .bash_profile এর মধ্যে JAVA_HOME এবং JRE_HOME এনভায়রনমেন্টাল ভেরিয়েবল সেট করতে যাচ্ছি ফাইলের নতুন লাইনে নিম্নলিখিতগুলি যোগ করে:
export JAVA_HOME=$(/usr/libexec/java_home) JRE_HOME=$(/usr/libexec/java_home)
ধরে নিচ্ছি আমরা এখন শেষ করেছি, Control+o টিপে .bash_profile এ করা পরিবর্তনগুলি সংরক্ষণ করুন (এটি অটারের মতো একটি), তারপর Control+X টিপে ন্যানো থেকে বেরিয়ে আসুন
পরিবেশগত ভেরিয়েবলে করা পরিবর্তন এবং সংযোজন শেলটিকে পুনরায় চালু করতে হবে বা একটি নতুন শেল তৈরি করতে হবে।
OS X এ অস্থায়ী পরিবেশগত ভেরিয়েবল সেট করা
এটা উল্লেখ করার মতো যে আপনি নিজে নিজে 'রপ্তানি' কমান্ড ব্যবহার করে ব্যাশে অস্থায়ী পরিবেশগত ভেরিয়েবল সেট করতে পারেন, যদিও এগুলি কেবল ততক্ষণ থাকবে যতক্ষণ বর্তমান ব্যাশ শেল সক্রিয় থাকবে। উদাহরণস্বরূপ, যদি আপনি ~/bin/ এ একটি অস্থায়ী পথ যোগ করতে চান তাহলে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:
export PATH=$PATH:~/bin
আবারও, 'এক্সপোর্ট' কমান্ডটি নিজেই চালিত এবং .bash_profile-এর মধ্যে থাকবে না তা শুধুমাত্র একটি অস্থায়ী সেটিং হবে এবং আপনি .bash_profile এ যোগ না করা পর্যন্ত পরিবেশগত পরিবর্তনশীল থাকবে না।
আপনি যদি বাস্তবে ব্যবহারের জন্য একটি নতুন PATH যোগ করতে চান, তাহলে আপনাকে অবশ্যই এটিকে .bash_profile-এ যুক্ত করতে হবে ফাইলটিতে উপযুক্ত রপ্তানি কমান্ড স্থাপন করে।
ব্যাশ শেলের বাইরে গিয়ে, আপনি যদি আপনার টার্মিনাল অ্যাপের ডিফল্ট শেলকে bash থেকে tcsh, zsh, sh, ksh, fish, বা অন্য কোনো বিকল্প শেল-এ পরিবর্তন করে থাকেন, তাহলে আপনার প্রয়োজন হবে সেই নির্দিষ্ট শেল (.tschrc, .cshrc, .profile, ইত্যাদি) জন্য উপযুক্ত প্রোফাইল বা rc ফাইল পরিবর্তন করতে।