লিনাক্সে কীভাবে স্থানীয়, ব্যবহারকারী এবং সিস্টেম ওয়াইড এনভায়রনমেন্ট ভেরিয়েবলগুলি সেট এবং আনসেট করা যায়


এনভায়রনমেন্ট ভেরিয়েবলগুলি এমন কিছু বিশেষ ভেরিয়েবল যা শেলের মধ্যে সংজ্ঞায়িত হয় এবং সম্পাদনের সময় প্রোগ্রামগুলির দ্বারা প্রয়োজনীয় হয়। এগুলি সিস্টেম সংজ্ঞায়িত বা ব্যবহারকারী সংজ্ঞায়িত হতে পারে। সিস্টেমের সংজ্ঞায়িত ভেরিয়েবলগুলি সেগুলি যা সিস্টেম দ্বারা সেট করা হয় এবং সিস্টেম স্তরের প্রোগ্রামগুলি দ্বারা ব্যবহৃত হয়।

যেমন PWD কমান্ড একটি খুব সাধারণ সিস্টেম ভেরিয়েবল যা বর্তমান ওয়ার্কিং ডিরেক্টরি সংরক্ষণ করার জন্য ব্যবহৃত হয়। ব্যবহারকারীর সংজ্ঞায়িত ভেরিয়েবলগুলি সাধারণত ব্যবহারকারী দ্বারা সেট করা হয় হয় হয় অস্থায়ীভাবে বর্তমান শেলের জন্য বা স্থায়ীভাবে। পরিবেশের ভেরিয়েবলগুলি স্থাপন এবং আন-সেটিংয়ের পুরো ধারণাটি কিছু ফাইলের কয়েকটি সেট এবং কয়েকটি কমান্ড এবং বিভিন্ন শেলের চারদিকে ঘোরে।

বিস্তৃত শর্তে, একটি পরিবেশের পরিবর্তনশীল তিন ধরণের হতে পারে:

একটি বর্তমান অধিবেশন জন্য সংজ্ঞায়িত। এই পরিবেশের ভেরিয়েবলগুলি কেবল বর্তমান অধিবেশন অবধি স্থায়ী হয়, তা দূরবর্তী লগইন সেশন বা স্থানীয় টার্মিনাল সেশন হোক। এই ভেরিয়েবলগুলি কোনও কনফিগারেশন ফাইলগুলিতে নির্দিষ্ট করা হয়নি এবং তৈরি করা হয় এবং একটি বিশেষ কমান্ডের সেট ব্যবহার করে তা সরানো হয়।

এগুলি ভেরিয়েবলগুলি যা কোনও নির্দিষ্ট ব্যবহারকারীর জন্য সংজ্ঞায়িত হয় এবং প্রতিবার স্থানীয় কোনও টার্মিনাল সেশন ব্যবহার করে বা ব্যবহারকারী দূরবর্তী লগইন সেশনটি ব্যবহার করে লগইন করে লোড হয়। এই ভেরিয়েবলগুলি সাধারণত সেট করা থাকে এবং নিম্নলিখিত কনফিগারেশন ফাইলগুলি থেকে লোড করা হয়: .Bashrc , .Bash_profile , .Bash_login , । প্রোফাইল ফাইল যা ব্যবহারকারীর হোম ডিরেক্টরিতে উপস্থিত থাকে।

এগুলি হ'ল পরিবেশ-ভেরিয়েবলগুলি যা সিস্টেম-ব্যাপী উপলব্ধ that এই ভেরিয়েবলগুলি নিম্নোক্ত ডিরেক্টরি এবং ফাইলগুলিতে উপস্থিত সিস্টেম-ব্যাখ্যামূলক কনফিগারেশন ফাইলগুলিতে উপস্থিত রয়েছে: /etc/পরিবেশ , /etc/প্রোফাইল , /etc/profile.d/, /etc/bash.bashrc । এই ভেরিয়েবলগুলি প্রতিবার সিস্টেম চালিত হয় এবং কোনও ব্যবহারকারীর দ্বারা স্থানীয়ভাবে বা দূরবর্তীভাবে লগ ইন করা থাকে লোড হয়।

ইউজার-ওয়াইড এবং সিস্টেম-ওয়াইড কনফিগারেশন ফাইলগুলি বোঝা

এখানে, আমরা সংক্ষেপে উপরে তালিকাভুক্ত বিভিন্ন কনফিগারেশন ফাইলগুলি পরিবেশগত ভেরিয়েবলগুলি ধারণ করে, সিস্টেম প্রশস্ত অথবা ব্যবহারকারী নির্দিষ্ট either

এই ফাইলটি ব্যবহারকারী নির্দিষ্ট ফাইল যা প্রতিবার লোড হয়ে যায় ব্যবহারকারী একটি নতুন স্থানীয় সেশন তৈরি করে অর্থ্যাৎ সাধারণ কথায়, একটি নতুন টার্মিনাল খুলবে। এই ফাইলটিতে তৈরি সমস্ত পরিবেশের ভেরিয়েবলগুলি প্রতিবার নতুন স্থানীয় সেশন শুরু হওয়ার পরে কার্যকর হবে।

এই ফাইলটি ব্যবহারকারী নির্দিষ্ট দূরবর্তী লগইন ফাইল। এই ফাইলটিতে তালিকাভুক্ত পরিবেশের ভেরিয়েবলগুলি প্রতিবার ব্যবহারকারীকে দূরবর্তীভাবে লগইন করা হয় অর্থাৎ ssh সেশন ব্যবহার করে অনুরোধ করা হয়। যদি এই ফাইলটি উপস্থিত না থাকে তবে সিস্টেমটি .ব্যাশ_লগিন বা । প্রোফাইল ফাইলগুলির সন্ধান করে।

এই ফাইলটি কোনও পরিবেশের ভেরিয়েবলগুলি তৈরি করতে, সম্পাদনা করতে এবং অপসারণের জন্য সিস্টেম ওয়াইড ফাইল। এই ফাইলটিতে তৈরি পরিবেশের ভেরিয়েবলগুলি স্থানীয় এবং দূরবর্তীভাবে, প্রতিটি ব্যবহারকারী দ্বারা সমস্ত সিস্টেমের মধ্যে অ্যাক্সেসযোগ্য।

সিস্টেম বিস্তৃত bashrc ফাইল। এই ফাইলটি প্রতিটি ব্যবহারকারীর জন্য একবার লোড করা হয়, প্রতিবার ব্যবহারকারী কোনও স্থানীয় টার্মিনাল সেশন খোলায়। এই ফাইলটিতে তৈরি পরিবেশের ভেরিয়েবলগুলি সমস্ত ব্যবহারকারীর জন্য অ্যাক্সেসযোগ্য তবে কেবল স্থানীয় টার্মিনাল সেশনের মাধ্যমে। যখন সেই মেশিনে থাকা কোনও ব্যবহারকারীকে দূরবর্তী লগইন সেশনের মাধ্যমে দূরবর্তী অ্যাক্সেস করা হয়, তখন এই ভেরিয়েবলগুলি দৃশ্যমান হবে না।

সিস্টেম প্রশস্ত প্রোফাইল ফাইল। এই ফাইলে তৈরি সমস্ত ভেরিয়েবলগুলি সিস্টেমের প্রতিটি ব্যবহারকারীর দ্বারা অ্যাক্সেসযোগ্য তবে কেবল যদি সেই ব্যবহারকারীর সেশনটি দূরবর্তীভাবে আহ্বান করা হয়, যেমন দূরবর্তী লগইনের মাধ্যমে। এই ফাইলের কোনও পরিবর্তনীয় স্থানীয় লগইন সেশনের জন্য অ্যাক্সেসযোগ্য হবে না অর্থাত্ যখন ব্যবহারকারী তার স্থানীয় সিস্টেমে একটি নতুন টার্মিনাল খোলেন।

দ্রষ্টব্য: সিস্টেম-ব্যাপী বা ব্যবহারকারী-ব্যাপী কনফিগারেশন ফাইলগুলি ব্যবহার করে তৈরি পরিবেশের ভেরিয়েবলগুলি কেবলমাত্র এই ফাইলগুলি থেকে সরিয়ে ফেলা যায়। এই ফাইলগুলির প্রতিটি পরিবর্তনের পরে, হয় লগ আউট এবং আবার লগ ইন করুন বা পরিবর্তনগুলি কার্যকর করতে টার্মিনালে নিম্নলিখিত কমান্ডটি টাইপ করুন:

$ source <file-name>

লিনাক্সে স্থানীয় বা সেশন-ওয়াইড এনভায়রনমেন্ট ভেরিয়েবলগুলি সেট বা আনসেট করুন

স্থানীয় পরিবেশের ভেরিয়েবল নিম্নলিখিত কমান্ড ব্যবহার করে তৈরি করা যেতে পারে:

$ var=value 
OR
$ export var=value

এই ভেরিয়েবলগুলি সেশন প্রশস্ত এবং কেবলমাত্র বর্তমান টার্মিনাল সেশনের জন্য বৈধ। এই অধিবেশন-বিস্তৃত পরিবেশের ভেরিয়েবলগুলি সাফ করার জন্য নিম্নলিখিত কমান্ডগুলি ব্যবহার করা যেতে পারে:

ডিফল্টরূপে, "env" কমান্ড সমস্ত বর্তমান পরিবেশের ভেরিয়েবল তালিকাভুক্ত করে। তবে, যদি -i স্যুইচ ব্যবহার করা হয় তবে এটি অস্থায়ীভাবে সমস্ত পরিবেশের ভেরিয়েবলগুলি সাফ করে দেয় এবং ব্যবহারকারীকে সমস্ত পরিবেশের ভেরিয়েবলের অভাবে বর্তমান অধিবেশনে একটি কমান্ড কার্যকর করতে দেয়।

$ env –i [Var=Value]… command args…

এখানে, var = value কোনও স্থানীয় পরিবেশের ভেরিয়েবলের সাথে সম্পর্কিত যা আপনি কেবল এই আদেশ দিয়েই ব্যবহার করতে চান।

$ env –i bash

বাশ শেল দেবে যা অস্থায়ীভাবে পরিবেশের কোনও পরিবর্তনশীল থাকবে না। তবে, আপনি শেল থেকে প্রস্থান করার সাথে সাথে সমস্ত ভেরিয়েবল পুনরুদ্ধার হবে।

স্থানীয় পরিবেশ পরিবর্তনশীল সাফ করার আরেকটি উপায় হ'ল আনসেট কমান্ড ব্যবহার করে। অস্থায়ীভাবে কোনও স্থানীয় পরিবেশ পরিবর্তনশীল আনসেট করতে,

$ unset <var-name>

যেখানে var-name হল স্থানীয় ভেরিয়েবলের নাম যা আপনি আন-সেট বা পরিষ্কার করতে চান।

আর একটি কম সাধারণ উপায় হল আপনি যে ভেরিয়েবলটি সাফ করতে চান তার নাম (খালি) সেট করে। এটি বর্তমান সেশনের জন্য স্থানীয় ভেরিয়েবলের মান সাফ করবে যেটির জন্য এটি সক্রিয়।

দ্রষ্টব্য - আপনি সিস্টেমে বা ব্যবহারকারীর পরিবেশগত বৈকল্পিকের ভ্যালুগুলির সাথে খেলতে এবং পরিবর্তন করতে পারবেন, তবে পরিবর্তনগুলি কেবলমাত্র স্থায়ী সাময়িক অধিবেশনগুলিতে প্রতিফলিত হবে এবং স্থায়ী হবে না।

কীভাবে লিনাক্সে ব্যবহারকারীর-ওয়াইড এবং সিস্টেম-ওয়াইড পরিবেশের ভেরিয়েবলগুলি তৈরি করবেন তা শিখুন

বিভাগে, আমরা নীচে উদাহরণ সহ লিনাক্সে কীভাবে স্থানীয়, ব্যবহারকারী এবং সিস্টেম ওয়াইড এনভায়রনমেন্ট ভেরিয়েবলগুলি সেট বা আনসেট করতে শিখব:

ক।) এখানে আমরা একটি স্থানীয় ভেরিয়েবল ভিএআর 1 তৈরি করি এবং এটিকে যেকোন মানতে সেট করি। তারপরে, আমরা সেই স্থানীয় ভেরিয়েবল অপসারণ করতে আনসেট ব্যবহার করি এবং শেষে সেই ভেরিয়েবলটি সরিয়ে ফেলা হয়।

$ VAR1='TecMint is best Site for Linux Articles'
$ echo $VAR1
$ unset VAR1
$ echo $VAR1

খ।) স্থানীয় ভেরিয়েবল তৈরির আর একটি উপায় হ'ল এক্সপোর্ট কমান্ড ব্যবহার করে। স্থানীয় ভেরিয়েবলটি বর্তমান সেশনের জন্য উপলব্ধ। ভেরিয়েবলটি আনসেট করতে কেবল ভেরিয়েবলের মান এ সেট করুন।

$ export VAR='TecMint is best Site for Linux Articles'
$ echo $VAR
$ VAR=
$ echo $VAR

সি।) এখানে আমরা একটি স্থানীয় ভেরিয়েবল ভিএআর 2 তৈরি করেছি এবং এটিকে একটি মান হিসাবে সেট করেছি। তারপরে অস্থায়ীভাবে সমস্ত স্থানীয় এবং অন্যান্য পরিবেশের ভেরিয়েবলগুলি সাফ করে একটি কমান্ড চালানোর জন্য, আমরা env –i কমান্ড কার্যকর করি। এই কমান্ডটি এখানে অন্যান্য সমস্ত পরিবেশের ভেরিয়েবলগুলি সাফ করে বাশ শেল কার্যকর করেছে। আমন্ত্রিত ব্যাশ শেলটিতে প্রস্থান প্রবেশ করার পরে, সমস্ত ভেরিয়েবল পুনরুদ্ধার করা হবে।

$ VAR2='TecMint is best Site for Linux Articles'
$ echo $VAR2
$ env -i bash
$ echo $VAR2   

ক।) আপনার বাড়ির ডিরেক্টরিতে আপনার কোড যুক্ত করতে হবে এমন পরিবেশের পরিবর্তনশীল রফতানি করতে বা সেট করতে আপনার হোম ডিরেক্টরিতে .Bashrc ফাইলটি পরিবর্তন করুন। এই উত্স ফাইল পরে, পরিবর্তনগুলি কার্যকর করতে। তারপরে আপনি ভেরিয়েবলটি দেখতে পাবেন ( সিডি আমার ক্ষেত্রে) কার্যকর হবে। আপনি যখন এই ব্যবহারকারীর জন্য একটি নতুন টার্মিনাল খুলবেন ততবার এই পরিবর্তনশীলটি উপলভ্য হবে তবে দূরবর্তী লগইন সেশনের জন্য নয়।

$ vi .bashrc

নীচের লাইনে .Bashrc ফাইলে নিম্নলিখিত লাইনটি যুক্ত করুন।

export CD='This is TecMint Home'

নতুন পরিবর্তনগুলি গ্রহণ এবং এটি পরীক্ষা করতে এখন নিম্নলিখিত কমান্ডটি চালান।

$ source .bashrc 
$ echo $CD

এই পরিবর্তনশীলটি সরাতে, কেবলমাত্র .brcrc ফাইলে নিম্নলিখিত লাইনটি সরিয়ে পুনরায় উত্স করুন:

খ।) এমন একটি পরিবর্তনশীল যুক্ত করতে যা দূরবর্তী লগইন সেশনের জন্য উপলভ্য হবে (যেমন আপনি যখন রিমোট সিস্টেম থেকে ব্যবহারকারীর কাছে চলে যান), .Bash_profile ফাইলটি পরিবর্তন করুন।

$ vi .bash_profile

নীচের লিঙ্কটি .বাশ_প্রফাইলে ফাইলটিতে যুক্ত করুন।

export VAR2='This is TecMint Home'

এই ফাইলটি সোর্স করার সময়, আপনি এই ব্যবহারকারীর কাছে এসএসএস করার সময় চলকটি উপলভ্য হবে তবে কোনও নতুন স্থানীয় টার্মিনাল খোলার সময় নয়।

$ source .bash_profile 
$ echo $VAR2

এখানে VAR2 প্রারম্ভিকভাবে উপলভ্য নয় তবে লোকালহোস্টে ব্যবহারকারীর কাছে ssh করার পরে, চলকটি উপলভ্য হয়ে যায়।

$ ssh [email 
$ echo $VAR2

এই ভেরিয়েবলটি অপসারণ করতে, আপনার যুক্ত করা .Bash_profile ফাইলের লাইনটি সরিয়ে ফেলুন এবং ফাইলটিকে পুনরায় উত্স করুন।

দ্রষ্টব্য: আপনি যখন ব্যবহারকারীর জন্য লগইন করেন তবে অন্যান্য ব্যবহারকারীর জন্য নয়, এই ভেরিয়েবলগুলি উপলব্ধ থাকবে।

ক।) সিস্টেমের প্রশস্ত নো-লগইন ভেরিয়েবল যুক্ত করতে (অর্থাত্ কোনও ব্যবহারকারী যখন নতুন টার্মিনাল খুলবে তখন তা ব্যবহারকারীর জন্য উপলভ্য এমন একটি যা মেশিনের কোনও ব্যবহারকারী দূরবর্তীভাবে অ্যাক্সেস করার সময় নয়) ভেরিয়েবলটি /ইত্যাদি/ব্যাশে যুক্ত করুন। bashrc ফাইল।

export VAR='This is system-wide variable'

এর পরে, ফাইলটি উত্স করুন।

$ source /etc/bash.bashrc 

এখন যখন কোনও নতুন টার্মিনাল খুলবে তখন এই ব্যবহারকারীর জন্য প্রতিটি ব্যবহারকারীর জন্য উপলব্ধ available

$ echo $VAR
$ sudo su
$ echo $VAR
$ su -
$ echo $VAR

এখানে, সাধারণ ব্যবহারকারীর পাশাপাশি একই ব্যবহারকারীর জন্য একই পরিবর্তনশীল উপলব্ধ। আপনি অন্য ব্যবহারকারীর লগ ইন করে এটি যাচাই করতে পারেন।

খ।) আপনার মেশিনে থাকা কোনও ব্যবহারকারী দূরবর্তী সময়ে লগইন করা থাকলেও স্থানীয় মেশিনে কোনও নতুন টার্মিনাল খোলার সময় যদি কোনও পরিবেশের পরিবর্তনশীল উপস্থিত থাকতে চান তবে আপনাকে /ইত্যাদি/ফাইলটি সম্পাদনা করতে হবে < প্রোফাইল

export VAR1='This is system-wide variable for only remote sessions'

ভেরিয়েবল যুক্ত করার পরে, কেবল ফাইলটিকে পুনরায় উত্স করুন। তারপরে ভেরিয়েবলটি পাওয়া যায়।

$ source /etc/profile
$ echo $VAR1

এই ভেরিয়েবলটি অপসারণ করতে /etc/প্রোফাইল ফাইলটি থেকে লাইনটি সরিয়ে পুনরায় উত্স করুন।

সি।) তবে, আপনি যদি সমস্ত ব্যবহারকারীর জন্য দূরবর্তী লগইন সেশন পাশাপাশি স্থানীয় সেশনগুলিতে (যেমন একটি নতুন টার্মিনাল উইন্ডো খোলার) উভয় সিস্টেমে উপলব্ধ থাকতে চান এমন কোনও পরিবেশ যুক্ত করতে চান, তবে কেবলমাত্র ভেরিয়েবলটি রফতানি করুন/ইত্যাদি/পরিবেশ ফাইল।

export VAR12='I am available everywhere'

এর পরে কেবল উত্স ফাইল এবং পরিবর্তনগুলি কার্যকর হবে।

$ source /etc/environment
$ echo $VAR12
$ sudo su
$ echo $VAR12
$ exit
$ ssh localhost
$ echo $VAR12

এখানে, আমরা দেখতে পাচ্ছি পরিবেশ পরিবর্তনশীলটি সাধারণ ব্যবহারকারী, রুট ব্যবহারকারী, পাশাপাশি দূরবর্তী লগইন সেশনে (এখানে, লোকালহোস্টে) উপলব্ধ।

এই ভেরিয়েবলটি সাফ করার জন্য, কেবল/ইত্যাদি/এনভায়রনমেন্ট ফাইলটিতে এন্ট্রি সরান এবং এটি পুনরায় উত্স করুন বা আবার লগইন করুন।

দ্রষ্টব্য: আপনি ফাইলটি উত্স করলে পরিবর্তনগুলি কার্যকর হয়। তবে তা না হলে আপনাকে আবার লগ আউট এবং আবার লগ ইন করতে হবে।

উপসংহার

সুতরাং, এই কয়েকটি উপায় আমরা পরিবেশ পরিবর্তনশীল পরিবর্তন করতে পারি mod আপনি যদি এর জন্য কোনও নতুন এবং আকর্ষণীয় কৌশল খুঁজে পান তবে আপনার মন্তব্যে উল্লেখ করুন।