অ্যান্ড্রয়েড

কীভাবে লিনাক্সে পরিবেশের ভেরিয়েবলগুলি সেট এবং তালিকাভুক্ত করা যায়

কার্টুন এর সাথে কথা বলে ভিডিও তৈরি করুন মোবাইল দিয়ে | Make Video With Cartoon In Mobile

কার্টুন এর সাথে কথা বলে ভিডিও তৈরি করুন মোবাইল দিয়ে | Make Video With Cartoon In Mobile

সুচিপত্র:

Anonim

লিনাক্স এবং ইউনিক্স ভিত্তিক সিস্টেমে এনভায়রনমেন্ট ভেরিয়েবলগুলি গতিশীল নামযুক্ত মানগুলির একটি সেট যা সিস্টেমের মধ্যে সঞ্চিত থাকে যা শেল বা সাবशेলে চালু হওয়া অ্যাপ্লিকেশন দ্বারা ব্যবহৃত হয়। সহজ কথায়, একটি পরিবেশের পরিবর্তনশীল একটি নাম এবং একটি যুক্ত মান সহ একটি পরিবর্তনশীল is

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

এই গাইডটিতে, আমরা পরিবেশ এবং শেল ভেরিয়েবলগুলি পড়তে এবং সেট করতে ব্যাখ্যা করব।

এনভায়রনমেন্ট ভেরিয়েবল এবং শেল ভেরিয়েবল

চলকগুলির নিম্নলিখিত ফর্ম্যাট রয়েছে:

KEY=value KEY="Some other value" KEY=value1:value2

  • ভেরিয়েবলের নামগুলি কেস-সংবেদনশীল। কনভেনশন অনুসারে, এনভায়রনমেন্ট ভেরিয়েবলের UPPER CASE নাম থাকতে হবে W যখন ভেরিয়েবলকে একাধিক মান নির্ধারণ করা হয় তখন তাদের অবশ্যই কোলন : চরিত্র দ্বারা পৃথক করা উচিত। সমান = চিহ্নের চারপাশে কোনও স্থান নেই।

ভেরিয়েবলগুলি দুটি প্রধান বিভাগ, পরিবেশের ভেরিয়েবল এবং শেল ভেরিয়েবলগুলিতে শ্রেণিবদ্ধ করা যেতে পারে।

পরিবেশের ভেরিয়েবলগুলি এমন ভেরিয়েবল যা সিস্টেম-ব্যাপী উপলভ্য এবং সমস্ত প্রসারিত শিশু প্রক্রিয়া এবং শেল দ্বারা উত্তরাধিকার সূত্রে প্রাপ্ত।

শেল ভেরিয়েবলগুলি এমন চলক যা কেবলমাত্র বর্তমান শেল দৃষ্টান্তের জন্য প্রযোজ্য। প্রতিটি শেল যেমন zsh এবং bash এর অভ্যন্তরীণ শেল ভেরিয়েবলগুলির নিজস্ব সেট রয়েছে।

এখানে কয়েকটি কমান্ড উপলব্ধ রয়েছে যা আপনাকে লিনাক্সে পরিবেশগত ভেরিয়েবলগুলি তালিকাভুক্ত এবং সেট করতে দেয়:

  • env - কমান্ডটি আপনাকে বর্তমানের কোনও পরিবর্তন না করে কাস্টম এনভায়রনমেন্টে অন্য প্রোগ্রাম চালানোর অনুমতি দেয়। যখন কোনও যুক্তি ছাড়াই ব্যবহার করা হয় এটি বর্তমান পরিবেশের ভেরিয়েবলগুলির একটি তালিকা মুদ্রণ করবে। printenv - কমান্ডটি সমস্ত বা নির্দিষ্ট পরিবেশের ভেরিয়েবল মুদ্রণ করে। set - কমান্ড শেল ভেরিয়েবল সেট করে বা আনসেট করে। যখন আর্গুমেন্ট ছাড়াই ব্যবহৃত হয় এটি পরিবেশ এবং শেল ভেরিয়েবল এবং শেল ফাংশন সহ সমস্ত ভেরিয়েবলের একটি তালিকা মুদ্রণ করবে। unset - কমান্ড শেল এবং এনভায়রনমেন্ট ভেরিয়েবল মুছে ফেলে। export - কমান্ড পরিবেশের ভেরিয়েবল সেট করে।

পরিবেশ পরিবর্তনশীল তালিকা

পরিবেশের ভেরিয়েবলগুলি প্রদর্শনের জন্য সর্বাধিক ব্যবহৃত কমান্ড হ'ল printenv যদি ভেরিয়েবলের নাম কমান্ডের জন্য একটি আর্গুমেন্ট হিসাবে পাস করা হয় তবে কেবলমাত্র সেই ভেরিয়েবলের মান প্রদর্শিত হবে। যদি কোনও যুক্তি নির্দিষ্ট না করা থাকে তবে প্রিন্টেনভ সমস্ত পরিবেশের ভেরিয়েবলের তালিকা প্রিন্ট করে প্রতি এক ভেরিয়েবল প্রিন্ট করে।

উদাহরণস্বরূপ, HOME এনভায়রনমেন্ট ভেরিয়েবলের মান প্রদর্শন করতে আপনি চালিত করবেন:

printenv HOME

আউটপুটটি বর্তমানে লগ ইন করা ব্যবহারকারীর পাথ মুদ্রণ করবে:

/home/linuxize

আপনি printenv কমান্ডে একাধিক যুক্তিও দিতে পারেন:

printenv LANG PWD

en_US /home/linuxize

printenv

আউটপুটটি এরকম কিছু দেখবে:

LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35;… LESSCLOSE=/usr/bin/lesspipe %s %s LANG=en_US S_COLORS=auto XDG_SESSION_ID=5 USER=linuxize PWD=/home/linuxize HOME=/home/linuxize SSH_CLIENT=192.168.121.1 34422 22 XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop SSH_TTY=/dev/pts/0 MAIL=/var/mail/linuxize TERM=xterm-256color SHELL=/bin/bash SHLVL=1 LANGUAGE=en_US: LOGNAME=linuxize XDG_RUNTIME_DIR=/run/user/1000 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin LESSOPEN=| /usr/bin/lesspipe %s _=/usr/bin/printenv

নীচে কিছু সাধারণ পরিবেশের পরিবর্তনশীল রয়েছে:

  • USER - বর্তমান লগ ইন ব্যবহারকারী। HOME - বর্তমান ব্যবহারকারীর হোম ডিরেক্টরি। EDITOR - ডিফল্ট ফাইল সম্পাদক ব্যবহার করতে হবে। এটি সেই সম্পাদক যা আপনি যখন আপনার টার্মিনালে edit টাইপ করবেন তখন ব্যবহৃত হবে। SHELL - বর্তমান ব্যবহারকারীর শেলের পথ যেমন বাশ বা zsh sh LOGNAME - বর্তমান ব্যবহারকারীর নাম। PATH - কমান্ড কার্যকর করার সময় অনুসন্ধানের জন্য ডিরেক্টরিগুলির একটি তালিকা। আপনি যখন কোনও কমান্ড চালনা করবেন তখন সিস্টেমটি এই ডিরেক্টরিগুলিকে এই ক্রমে অনুসন্ধান করবে এবং প্রথম পাওয়া এক্সিকিউটেবল ব্যবহার করবে। LANG - বর্তমান লোকাল সেটিংস। TERM - বর্তমান টার্মিনাল অনুকরণ। MAIL - বর্তমান ব্যবহারকারীর মেইল ​​যেখানে সঞ্চয় করা আছে তার অবস্থান।

প্রিন্টেনভ এবং env কমান্ডগুলি কেবল পরিবেশের ভেরিয়েবল মুদ্রণ করে। আপনি যদি পরিবেশ, শেল এবং ভেরিয়েবল এবং শেল ফাংশন সহ সমস্ত ভেরিয়েবলের একটি তালিকা পেতে চান তবে আপনি set কমান্ডটি ব্যবহার করতে পারেন:

set

BASH=/bin/bash BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:login_shell:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=()

কমান্ডটি সমস্ত ভেরিয়েবলের একটি বৃহত তালিকা প্রদর্শন করবে যাতে আপনি সম্ভবত less কমান্ডে আউটপুটটি পাইপ করতে চান।

set | less

শেল ভেরিয়েবল মুদ্রণের জন্য আপনি ইকো কমান্ডটি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, BASH_VERSION ভেরিয়েবলের মান মুদ্রণ করতে আপনি চালিত করবেন:

echo $BASH_VERSION

4.4.19(1)-release

পরিবেশের ভেরিয়েবল সেট করা হচ্ছে

শেল এবং এনভায়রনমেন্ট ভেরিয়েবলের মধ্যে পার্থক্যটি আরও ভালভাবে বোঝানোর জন্য আমরা শেল ভেরিয়েবলগুলি সেট করে শুরু করব এবং তারপরে পরিবেশ পরিবর্তনশীলগুলিতে এগিয়ে যাব।

MY_VAR নাম সহ একটি নতুন শেল ভেরিয়েবল তৈরি করতে এবং Linuxize মানটি সহজভাবে টাইপ করুন:

MY_VAR='Linuxize'

আপনি গ্রিপ set | grep MY_VAR দিয়ে সেট কমান্ডের আউটপুট ফিল্টার করে echo $MY_VAR ব্যবহার করে ভেরিয়েবলটি সেট echo $MY_VAR set | grep MY_VAR set | grep MY_VAR :

echo $MY_VAR

Linuxize

এই ভেরিয়েবলটি পরিবেশগত পরিবর্তনশীল কিনা তা পরীক্ষা করতে printenv কমান্ডটি ব্যবহার করুন:

printenv MY_VAR

আউটপুট খালি থাকবে যা আমাদের বলবে যে ভেরিয়েবলটি পরিবেশের পরিবর্তনশীল নয়।

আপনি একটি সাব-শেলের মধ্যে ভেরিয়েবল মুদ্রণের চেষ্টা করতে পারেন এবং আপনি একটি খালি আউটপুট পাবেন।

bash -c 'echo $MY_VAR'

পরিবেশগত ভেরিয়েবল সেট করতে export কমান্ড ব্যবহার করা হয়।

পরিবেশের ভেরিয়েবল তৈরি করতে কেবল শেল ভেরিয়েবলটি পরিবেশগত পরিবর্তনশীল হিসাবে রফতানি করুন:

export MY_VAR

আপনি এটি চালিয়ে পরীক্ষা করতে পারেন:

printenv MY_VAR

Linuxize

bash -c 'echo $MY_VAR'

Linuxize

আপনি একক লাইনে পরিবেশের ভেরিয়েবলগুলি সেট করতে পারেন:

export MY_NEW_VAR="My New Var"

এইভাবে তৈরি পরিবেশগত পরিবর্তনগুলি কেবল বর্তমান সেশনে উপলব্ধ। আপনি যদি নতুন শেলটি খুলেন বা লগ আউট করেন তবে সমস্ত ভেরিয়েবল নষ্ট হয়ে যাবে।

অবিরাম পরিবেশ পরিবর্তনশীল

পরিবেশের ভেরিয়েবলগুলি অবিচ্ছিন্ন করতে আপনাকে ব্যাশ কনফিগারেশন ফাইলগুলিতে সেই পরিবর্তনশীলগুলি সংজ্ঞায়িত করতে হবে। আপনি যখন নতুন সেশন শুরু করেন তখন বেশিরভাগ লিনাক্স বিতরণে, পরিবেশের ভেরিয়েবলগুলি নিম্নলিখিত ফাইলগুলি থেকে পড়ে:

  • /etc/environment - সিস্টেম-ওয়াইড এনভায়রনমেন্ট ভেরিয়েবলগুলি সেট আপ করতে এই ফাইলটি ব্যবহার করুন। এই ফাইলের ভেরিয়েবলগুলি নিম্নলিখিত ফর্ম্যাটে সেট করা আছে:

    VAR_TEST="Test Var" FOO=bar VAR_TEST="Test Var"

    /etc/profile - যখন কোনও ব্যাশ লগইন শেল প্রবেশ করা হয় তখন এই ফাইলটিতে সেট চলকগুলি লোড হয়। এই ফাইলটিতে পরিবেশের ভেরিয়েবলগুলি ঘোষণাকালে আপনাকে export কমান্ডটি ব্যবহার করতে হবে:

    export JAVA_HOME="/path/to/java/home" export PATH=$PATH:$JAVA_HOME/bin

    প্রতি ব্যবহারকারী শেল নির্দিষ্ট কনফিগারেশন ফাইল। উদাহরণস্বরূপ, আপনি যদি ব্যাশ ব্যবহার করছেন তবে আপনি ~/.bashrc এ ভেরিয়েবলগুলি ঘোষণা করতে পারেন:

    export PATH="$HOME/bin:$PATH"

বর্তমান শেল সেশনে নতুন পরিবেশের ভেরিয়েবলগুলি লোড করতে source কমান্ডটি ব্যবহার করুন:

source ~/.bashrc

উপসংহার

এই নির্দেশিকাতে, আমরা আপনাকে পরিবেশ এবং শেল ভেরিয়েবলগুলি কীভাবে সেট এবং তালিকাভুক্ত করতে হবে তা দেখিয়েছি।

আপনার কোনও প্রশ্ন থাকলে নির্দ্বিধায় কোনও মন্তব্য করুন leave

প্রান্তিক