Giunsa ang Pagbutang ug Pag-unset sa Lokal, User ug System Wide Environment Variable sa Linux


Ang Environment Variables mao ang pipila ka espesyal nga variables nga gihubit sa shell ug gikinahanglan sa mga programa samtang gipatuman. Mahimo kini nga gipasabut sa sistema o gipasabut sa tiggamit. Ang mga variable nga gitakda sa sistema mao kadtong gitakda sa sistema ug gigamit sa mga programa sa lebel sa sistema.

Kay e.g. Ang PWD command usa ka kasagaran nga sistema nga variable nga gigamit sa pagtipig sa karon nga direktoryo sa pagtrabaho. Ang mga variable nga gitakda sa user kasagarang gitakda sa user, temporaryo man alang sa kasamtangan nga kabhang o permanente. Ang kinatibuk-ang konsepto sa pag-set ug un-setting environment variables nagtuyok sa pipila ka set sa files ug pipila ka commands ug lain-laing shells.

Sa mas lapad nga termino, ang usa ka variable sa palibot mahimong sa tulo ka mga matang:

Usa nga gihubit alang sa karon nga sesyon. Kini nga mga variable sa palibot molungtad lamang hangtod sa karon nga sesyon, mahimo kini nga sesyon sa pag-login sa hilit, o sesyon sa lokal nga terminal. Kini nga mga variable wala gipiho sa bisan unsang mga file sa pag-configure ug gihimo, ug gitangtang pinaagi sa paggamit sa usa ka espesyal nga hugpong sa mga mando.

Kini ang mga variable nga gihubit alang sa usa ka partikular nga tiggamit ug gikarga sa matag higayon nga ang usa ka tiggamit mag-log in gamit ang usa ka lokal nga sesyon sa terminal o kana nga tiggamit naka-log in gamit ang layo nga sesyon sa pag-login. Kini nga mga variable kasagarang gibutang ug gikarga gikan sa mosunod nga mga configuration file: .bashrc, .bash_profile, .bash_login, .profile mga file nga anaa sa home directory sa user.

Kini ang mga variable sa palibot nga magamit sa tibuuk nga sistema, i.e. alang sa tanan nga mga tiggamit nga naa sa kana nga sistema. Kini nga mga variable anaa sa tibuok sistema nga mga configuration file nga anaa sa mosunod nga mga direktoryo ug mga file: /etc/environment, /etc/profile, /etc/profile.d /, /etc/bash.bashrc. Kini nga mga variable gikarga sa matag higayon nga ang sistema gipaandar ug naka-log in bisan sa lokal o layo sa bisan kinsa nga tiggamit.

Pagsabot sa User-Wide ug System-wide Configuration files

Dinhi, among gihulagway sa daklit ang lain-laing mga configuration file nga gilista sa ibabaw nga nagkupot sa Environment Variables, bisan sa system wide o user specific.

Kini nga file usa ka file nga piho sa user nga ma-load sa matag higayon nga maghimo ang user og usa ka bag-ong lokal nga sesyon ie sa yano nga mga pulong, magbukas sa usa ka bag-ong terminal. Ang tanan nga mga variable sa palibot nga gihimo sa kini nga file mahimong epektibo sa matag higayon nga magsugod ang usa ka bag-ong lokal nga sesyon.

Kini nga file usa ka piho nga user nga remote login file. Ang mga variable sa kalikopan nga gilista sa kini nga file gihangyo matag higayon nga ang tiggamit naka-log in sa layo ie gamit ang sesyon sa ssh. Kung wala kini nga file, pangitaon sa sistema ang .bash_login o .profile nga mga file.

Kini nga file kay system wide nga file para sa paghimo, pag-edit o pagtangtang sa bisan unsang mga variable sa palibot. Ang mga variable sa palibot nga gihimo sa kini nga file ma-access sa tibuuk nga sistema, sa matag usa ug matag tiggamit, sa lokal ug layo.

Sistema nga lapad nga bashrc file. Kini nga payl gikarga kausa alang sa matag user, matag higayon nga ang user mag-abli sa usa ka lokal nga sesyon sa terminal. Ang mga variable sa palibot nga gihimo sa kini nga file ma-access sa tanan nga tiggamit apan pinaagi lamang sa lokal nga sesyon sa terminal. Kung ang bisan kinsa nga tiggamit sa kana nga makina ma-access sa layo pinaagi sa usa ka hilit nga sesyon sa pag-login, kini nga mga variable dili makita.

File sa profile nga lapad sa sistema. Ang tanan nga mga variable nga gihimo sa kini nga file ma-access sa matag tiggamit sa sistema, apan kung ang sesyon sa kana nga tiggamit gihangyo sa layo, ie pinaagi sa hilit nga pag-login. Ang bisan unsang variable sa kini nga file dili ma-access alang sa lokal nga sesyon sa pag-login i.e. kung magbukas ang user og bag-ong terminal sa iyang lokal nga sistema.

Mubo nga sulat: Ang mga variable sa palibot nga gihimo gamit ang system-wide o user-wide configuration files mahimong tangtangon pinaagi sa pagtangtang niini gikan niini nga mga file lamang. Nga pagkahuman sa matag pagbag-o sa kini nga mga file, mahimo’g mag-log out ug mag-log in pag-usab o i-type lang ang mosunod nga mando sa terminal aron ma-epekto ang mga pagbag-o:

$ source <file-name>

Itakda o I-unset ang Lokal o Session-wide Environment Variables sa Linux

Ang Local Environment Variables mahimong mabuhat gamit ang mosunod nga mga sugo:

$ var=value 
OR
$ export var=value

Kini nga mga variable lapad sa sesyon ug balido lamang alang sa kasamtangan nga sesyon sa terminal. Aron malimpyohan kini nga mga variable sa palibot sa tibuok sesyon nga mosunod nga mga sugo mahimong gamiton:

Sa kasagaran, ang \env\ command naglista sa tanang kasamtangang variable sa palibot. Apan, kung gamiton sa switch nga -i, temporaryo nga gitangtang ang tanan nga mga variable sa palibot ug gitugotan ang tiggamit nga magpatuman sa usa ka mando sa karon nga sesyon kung wala ang tanan nga mga variable sa palibot.

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

Dinhi, ang var=value katumbas sa bisan unsang lokal nga variable sa palibot nga gusto nimo gamiton sa kini nga mando lamang.

$ env –i bash

Maghatag bash shell nga temporaryo nga wala’y bisan unsang variable sa palibot. Apan, sa imong paggawas gikan sa kabhang, ang tanan nga mga variable mapasig-uli.

Ang laing paagi sa paghawan sa lokal nga baryable sa palibot mao ang paggamit sa unset command. Aron temporaryong i-unset ang bisan unsang local environment variable,

$ unset <var-name>

Diin, ang var-name mao ang ngalan sa lokal nga variable nga gusto nimong i-unset o i-clear.

Laing dili kaayo komon nga paagi mao ang pagbutang sa ngalan sa variable nga gusto nimong hawanan, ngadto sa (Empty). Kini magwagtang sa bili sa lokal nga variable alang sa kasamtangan nga sesyon diin kini aktibo.

PAHINUMDOM – PWEDE GANI MO MAGDUWA UG MAUSAB ANG MGA BILI SA SYSTEM O USER ENVIRONMENT VARIABLE, PERO ANG MGA PAGKABAG-O MAGPAMALANDONG SA KARON NGA TERMINAL SESSION LANG UG DILI PERMANENTE.

Pagkat-on Unsaon Paghimo, User-Wide ug System-Wide Environment Variables sa Linux

Sa seksyon, mahibal-an namon kung giunsa ang pag-set o pag-unset sa lokal, user ug system wide environment variables sa Linux nga adunay mga pananglitan sa ubos:

a.) Dinhi, naghimo kami ug lokal nga variable VAR1 ug gibutang kini sa bisan unsang kantidad. Dayon, gigamit namo ang unset aron tangtangon ang lokal nga variable, ug sa katapusan ang variable gikuha.

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

b.) Ang laing paagi sa paghimo ug lokal nga variable mao ang paggamit sa export nga sugo. Ang lokal nga variable nga gihimo mahimong magamit alang sa karon nga sesyon. Aron ma-unset ang variable ibutang lang ang value sa variable sa .

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

c.) Dinhi, naghimo kami ug lokal nga variable VAR2 ug gibutang kini sa usa ka bili. Unya aron sa pagpadagan sa usa ka sugo temporaryo nga paghawan sa tanang lokal ug uban pang mga baryable sa palibot, among gipatuman ang env –i nga sugo. Kini nga mando dinhi nagpatuman sa bash shell pinaagi sa pagtangtang sa tanan nga uban pang mga variable sa palibot. Human masulod ang exit sa gisangpit nga bash shell, ang tanang variables ibalik.

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

a.) Usba ang .bashrc file sa imong home directory aron ma-eksport o i-set ang environment variable nga kinahanglan nimong idugang. Human niana nga tinubdan sa file, sa paghimo sa mga kausaban sa epekto. Dayon imong makita ang variable (CD sa akong kaso), nga nag-epekto. Kini nga variable mahimong magamit sa matag higayon nga magbukas ka usa ka bag-ong terminal para sa kini nga tiggamit, apan dili alang sa layo nga mga sesyon sa pag-login.

$ vi .bashrc

Idugang ang mosunod nga linya sa .bashrc file sa ubos.

export CD='This is TecMint Home'

Karon pagdagan ang mosunud nga mando aron magkuha bag-ong mga pagbag-o ug sulayan kini.

$ source .bashrc 
$ echo $CD

Aron makuha kini nga variable, kuhaa lang ang mosunod nga linya sa .bashrc file ug i-resource kini:

b.) Aron makadugang ug variable nga mahimong magamit alang sa hilit nga mga sesyon sa pag-login (pananglitan, kung mag-ssh ka sa user gikan sa layo nga sistema), usba ang .bash_profile file.

$ vi .bash_profile

Idugang ang mosunod nga linya sa .bash_profile file sa ubos.

export VAR2='This is TecMint Home'

Kung sa pagpangita niini nga file, ang variable mahimong magamit kung imong ssh sa kini nga tiggamit, apan dili sa pag-abli sa bisan unsang bag-ong lokal nga terminal.

$ source .bash_profile 
$ echo $VAR2

Dinhi, ang VAR2 dili sa sinugdan magamit apan, sa pagbuhat sa ssh sa user sa localhost, ang variable mahimong magamit.

$ ssh [email 
$ echo $VAR2

Aron matangtang kini nga variable, tangtangon lang ang linya sa .bash_profile file nga imong gidugang, ug i-resource ang file.

PAHINUMDOM: Kini nga mga variable mahimong magamit sa matag higayon nga naka-log in ka sa karon nga tiggamit apan dili alang sa ubang mga tiggamit.

a.) Aron idugang ang sistema sa lapad nga walay-login nga variable (pananglitan ang usa nga magamit alang sa tanan nga tiggamit kung ang bisan kinsa kanila magbukas sa bag-ong terminal apan dili kung adunay bisan kinsa nga tiggamit sa makina ang layo nga ma-access) idugang ang variable sa /etc/bash. bashrc file.

export VAR='This is system-wide variable'

Pagkahuman niana, gigikanan ang file.

$ source /etc/bash.bashrc 

Karon kini nga variable mahimong magamit alang sa matag tiggamit kung giablihan niya ang bisan unsang bag-ong terminal.

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

Dinhi, ang parehas nga variable magamit alang sa root user ingon man sa normal nga tiggamit. Mahimo nimong pamatud-an kini pinaagi sa pag-log in sa ubang tiggamit.

b.) Kung gusto nimo ang bisan unsang variable sa palibot nga magamit kung ang bisan kinsa sa tiggamit sa imong makina layo nga naka-log in, apan dili sa pag-abli sa bisan unsang bag-ong terminal sa lokal nga makina, nan kinahanglan nimo nga i-edit ang file - /etc/ profile.

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

Human idugang ang variable, i-resource lang ang file. Unya ang variable mahimong magamit.

$ source /etc/profile
$ echo $VAR1

Aron matangtang kini nga variable, kuhaa ang linya gikan sa /etc/profile file ug i-resource kini.

c.) Bisan pa, kung gusto nimong idugang ang bisan unsang palibot nga gusto nimo nga magamit sa tibuuk nga sistema, sa duha nga hilit nga mga sesyon sa pag-login ingon man sa mga lokal nga sesyon (ie pag-abli sa usa ka bag-ong terminal window) alang sa tanan nga mga tiggamit, i-export lang ang variable sa /etc/environment file.

export VAR12='I am available everywhere'

Pagkahuman niana, gigikanan lang ang file ug ang mga pagbag-o molihok.

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

Dinhi, ingon nga nakita namon ang variable sa palibot magamit alang sa normal nga tiggamit, gamut nga tiggamit, ingon man sa hilit nga sesyon sa pag-login (dinhi, sa localhost).

Aron matangtang kini nga variable, kuhaa lang ang entry sa /etc/environment file ug i-resource kini o pag-login pag-usab.

PAHINUMDOM: Ang mga pagbag-o adunay epekto kung imong gigikanan ang file. Apan, kung dili, kinahanglan nimo nga mag-log out ug mag-log in pag-usab.

Konklusyon

Busa, kini ang pipila ka mga paagi nga atong mabag-o ang mga variable sa palibot. Kung nakit-an nimo ang bisan unsang bag-o ug makapaikag nga mga limbong alang sa parehas nga paghisgot sa imong mga komento.