Je! Ninawezaje kuongeza vijidudu vya mazingira?


Nenda kwa jibu lililokubaliwa


Ninaendesha Ubuntu 11.04. Ninatumia terminal kuanza kikao cha bash, na ninataka kuongeza kutofautisha kwa mazingira:

 [email protected]:~$ env THEVAR=/example
 

Lakini haifanyi kazi. Inaonyesha vitu vyote vilivyo na THEVAR kuwa ya mwisho, lakini simu nyingine env haionyeshi- THEVAR hairudishi env | grep THEVAR chochote.

Vivyo hivyo, hati zilizo na usafirishaji ( export THEVAR=/example ) au zoezi lingine tofauti ( THEVAR=/example ) haziongeze utofauti wa mazingira.

Najua ninafanya kitu kibaya, najua inapaswa kuwa jambo rahisi, lakini siwezi kupata nini.

UPDATE: Maana halisi ya swali langu ilikuwa hii: https://stackoverflow.com/questions/496702/can-a-shell-script-set-en mazingira- variables-of-the-calling- shell

(Kwa vyovyote vile nitachagua jibu lililopigwa kura zaidi na kuacha kichwa kilichohaririwa - hiyo sio kile nilikuwa nauliza)

env huendesha programu katika mazingira uliyobadilishwa, kisha kufukuza mabadiliko yote.


400





2011-08-27




Idadi ya majibu: 6


Ili kuweka kutofautisha tu kwa ganda la sasa:

 VARNAME="my value"
 

Ili kuiweka kwa ganda la sasa na michakato yote ilianza kutoka kwa ganda la sasa:

 export VARNAME="my value"      # shorter, less portable version
 

Ili kuisimamisha kabisa kwa vipindi vyote vya baadaye vya nyongeza ongeza laini kama hiyo kwenye .bashrc faili yako kwenye $HOME saraka yako .

Ili kuiweka kabisa, na mfumo upana (watumiaji wote, michakato yote) ongeza kutofautisha katika / nk / mazingira:

 sudo -H gedit /etc/environment
 

Faili hii inakubali kazi tofauti tu kama:

 VARNAME="my value"
 

Usitumie export neno kuu hapa.

Unahitaji kuingia kutoka kwa mtumiaji wa sasa na kuingia tena ili mabadiliko ya mabadiliko ya mazingira ifanyike.


626


2011-08-27

Ili kuweka kutofautisha kwa mazingira mara moja, tumia export amri haraka, sio kwenye hati ya ganda:

 $ export THEVAR=/example
 

Tofauti itawekwa kwa kipindi chote cha kikao cha ganda au hadi haijawekwa.

Ili kuweka mabadiliko ya mazingira kila wakati, tumia export amri kwenye .bashrc faili (au faili inayofaa ya kuanzisha kwa ganda lako).

Ili kuweka muundo wa kutofautisha kutoka kwa hati, tumia export amri kwenye hati, na kisha source hati. Ukitoa hati haitafanya kazi.

Kwa maelezo ya tofauti kati ya kupata na kutekeleza tazama jibu hili: https://superuser.com/questions/176783/what-is-the-difference-between-executing-a-bash-script-and-sourcing-a- bash-script / 176788 # 176788


30


2011-08-27

Kuongeza kabisa mazingira tofauti ya Ubuntu (iliyojaribiwa tu katika 14.04), tumia hatua zifuatazo:

  1. Fungua terminal (kwa kubonyeza CtrlAltT)
  2. sudo -H gedit /etc/environment
  3. Andika nywila yako
  4. Hariri faili ya maandishi iliyofunguliwa tu:
    mfano ikiwa unataka kuongeza FOO=bar , kisha andika FOO=bar kwenye mstari mpya
  5. Ila
  6. Mara tu umeokolewa, logi na kuingia tena.
  7. Mabadiliko yako yanayotakiwa yanafanywa.

19


2014-12-07

Ili kufanya mabadiliko ya mazingira / var yaendelee baada ya hati kumalizika, lazima utumie source ./script.sh au maelezo mafupi ya chanzo, "." . ./script.sh

Chanzo kitatoa amri kwenye hati kana kwamba umeichapa ... kwa hivyo haibadilishi vipengele kadhaa vya hati, kama vile kumaliza ... kwa hivyo ikiwa hati yako itaangalia kitu na inaamua kutoka ikiwa ni ya uwongo, kwa mfano, kupitia simu exit 0 , itasimamisha kikao chako cha sasa cha terminal / ganda.


8


2018-03-16

Ikiwa unafanya vitu kupitia maandishi, njia moja rahisi ya kuweka mazingira kutofautishwa kabisa ni kuweka taarifa hapa kwenye hati yako,

 if [[ ! -d "$MyVar" ]]; then 
    export MyVar="abc"
    echo 'export MyVar="abc"' >> ~/.bashrc
fi
 

Ikiwa unahitaji kutathmini maneno kama pwd, unaweza kutumia hii, kwa mfano,

 echo "export EIGEN_ROOT=\"$(pwd)/eigen\"" >> ~/.bashrc
 

5


2017-07-12

Najua umechelewa, lakini ikiwa unataka kuongeza utofauti wa mazingira kwa watumiaji wote (mfano matumizi ya JAVA) - unaweza kufanya yafuatayo:

1) Fungua kwa /etc/bash.bashrc kutumia nano (unaweza kutumia chochote hariri, sipendi VIM kwani ndio mbaya zaidi linapokuja suala la urafiki wa watumiaji - hakuna kitu cha kibinafsi).

2) Kuomba faili:

export VAR=path export PATH=$PATH:/bin 3) (Afadhali ikiwa unaweza kurusha kisanduku) - au fungua kikao kipya cha SSH na uthibitishe kutumia amri ya `env '.

Lakini ikiwa unataka kila mtumiaji kuwa na mpangilio tofauti kwa hii, lazima ubadilishe (kuandikwa) kuweka .bashrc chini ya ~/.bashrc (au /home/$USER/ ikiwa wewe ni mpya kwa mifumo ya Linux)


4


2019-08-18