Gnuplot kurmadan önce ortam değişkenini ayarladım GNUPLOT_DRIVER_DIR = /home/gnuplot/build/src
. Kurulum sırasında bir şeyler ters gitti.
GNUPLOT_DRIVER_DIR
Ortam değişkenini kaldırmak istiyorum . Nasıl başarabilirim?
Gnuplot kurmadan önce ortam değişkenini ayarladım GNUPLOT_DRIVER_DIR = /home/gnuplot/build/src
. Kurulum sırasında bir şeyler ters gitti.
GNUPLOT_DRIVER_DIR
Ortam değişkenini kaldırmak istiyorum . Nasıl başarabilirim?
Yanıtlar:
unset
aradığınız komuttur.
unset GNUPLOT_DRIVER_DIR
unexport
Bunu yapmanın tek yolu var T="$MYVAR"; unset MYVAR; MYVAR="$T"; unset T
mı?
declare +x MYVAR
, dışa aktarmayı kaldırmayı ancak değeri geçerli kabukta tutmayı söyleyebilirsiniz .
export -n MYWAR
çalışıyor.
DUALCASE değişkeninin var olup olmadığını test edin:
el@apollo:~$ env | grep DUALCASE
el@apollo:~$
Değişmez, bu nedenle değişkeni oluşturun ve dışa aktarın:
el@apollo:~$ DUALCASE=1
el@apollo:~$ export DUALCASE
Orada olup olmadığını kontrol edin:
el@apollo:~$ env | grep DUALCASE
DUALCASE=1
Orada. Yani ondan kurtulun:
el@apollo:~$ unset DUALCASE
Hala orada olup olmadığını kontrol edin:
el@apollo:~$ env | grep DUALCASE
el@apollo:~$
DUALCASE dışa aktarılan ortam değişkeni silinir.
Oturum açıldığında tüm yerel değişkenleri varsayılana geri alın:
el@apollo:~$ CAN="chuck norris"
el@apollo:~$ set | grep CAN
CAN='chuck norris'
el@apollo:~$ env | grep CAN
el@apollo:~$
el@apollo:~$ exec bash
el@apollo:~$ set | grep CAN
el@apollo:~$ env | grep CAN
el@apollo:~$
exec bash
command tüm yerel değişkenleri temizledi, ancak ortam değişkenlerini temizlemedi.
Oturum açıldığında tüm ortam değişkenlerini varsayılana geri döndürün:
el@apollo:~$ export DOGE="so wow"
el@apollo:~$ env | grep DOGE
DOGE=so wow
el@apollo:~$ env -i bash
el@apollo:~$ env | grep DOGE
el@apollo:~$
env -i bash
command, oturum açıldığında varsayılan olarak tüm ortam değişkenlerini temizledi.
echo $VARIABLE
daha iyidir env | grep VARIABLE
, tüm değişkenleri yazdırması ve ardından çıktısını başka bir (grep) işlemine göndermesi gerekmediğinden daha hafiftir. Ayrıca, env | VARIABLE
aynı kalıpla eşleşen birden fazla değişkeni yakalayabilir. Artı2, echo $VARIABLE
<Tab> tuşuna basarak değişkenin adını tamamlamayı mümkün kılar (varsa, bu da yapmak istediğinize bir ipucu olabilir).
echo $VARIABLE
VARIABLE'ın bir kabuk değişkeni (burada "yerel değişken" olarak adlandırılır) veya adım adımının bütün noktası olan bir ortam değişkeni olup olmadığını söylemez.
env -i bash
istenmeyen sonuçları olabilecek (Mac'te en az) bir altkabuk yaratmak gibi görünüyor.
env | grep -e '^VARNAME='
.
Orijinal soru değişkenin nasıl ayarlandığından bahsetmediğinden ve bu sayfaya bu belirli cevabı arayan varlığımdan dolayı, aşağıdakileri ekliyorum:
C kabuğunda (csh / tcsh) bir ortam değişkeni ayarlamanın iki yolu vardır:
set x = "something"
setenv x "something"
Davranıştaki fark, setenv komutuyla ayarlanan değişkenlerin otomatik olarak alt kabuğa aktarılması ve set ile ayarlanan değişkenin olmamasıdır.
İle değişken seti unset ayarlamak , kullanım
unset x
Setenv ile bir değişken kümesinin ayarını kaldırmak için
unsetenv x
Not: Yukarıdakilerin hepsinde, değişken adının 'x' olduğunu varsayıyorum.
kredi:
https://www.cyberciti.biz/faq/unix-linux-difference-between-set-and-setenv-c-shell-variable/ https://www.oreilly.com/library/view/solaristm-7- referans / 0130200484 / 0130200484_ch18lev1sec24.html
bu da işe yarayabilir.
export GNUPLOT_DRIVER_DIR=
env
komutun çıktısında görebileceğiniz gibi boş bir dize içeriyor . Değişkeni kullanan uygulamanın, var olmayan ve boş ortam değişkeni arasında ayrım yapmaması durumu olabilir.
export PAGER=
, ancak bu sadece sayfalamayı tamamen devre dışı bıraktı - tüm adam sayfalarım doğrudan terminale atıldı. unset PAGER
varsayılan davranışa geri döndürerek hile yaptı.
Yukarıdaki cevaplarda belirtildiği gibi , değişkeni ayarlamak için unset GNUPLOT_DRIVER_DIR
kullandıysanız çalışmalıdır export
. Kalıcı olarak ayarladıysanız ~/.bashrc
veya ~/.zshrc
daha sonra oradan kaldırmak işe yarayacaktır.