Android

Linux'ta ortam değişkenleri nasıl ayarlanır ve listelenir

Linux vs Windows vs MacOS для работы. Какой ЛИНУКС выбрать в 2020 для рабочего компьютера?

Linux vs Windows vs MacOS для работы. Какой ЛИНУКС выбрать в 2020 для рабочего компьютера?

İçindekiler:

Anonim

Linux ve Unix tabanlı sistemlerde, ortam değişkenleri, kabuklar veya alt kabuklarda başlatılan uygulamalar tarafından kullanılan, sistem içinde depolanan bir dizi dinamik adlandırılmış değerdir. Basit bir deyişle, bir ortam değişkeni, adı ve ilişkili bir değeri olan bir değişkendir.

Ortam değişkenleri, sistemin çalışma şeklini ve uygulamaların sistemdeki davranışını özelleştirmenizi sağlar. Örneğin, ortam değişkeni varsayılan metin düzenleyici veya tarayıcı, yürütülebilir dosyaların yolu veya sistem yerel ayarı ve klavye düzeni ayarları hakkında bilgi depolayabilir.

Bu kılavuzda, ortam ve kabuk değişkenlerini okumayı ve ayarlamayı açıklayacağız.

Ortam Değişkenleri ve Kabuk Değişkenleri

Değişkenler aşağıdaki biçime sahiptir:

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

  • Değişkenlerin adları büyük / küçük harfe duyarlıdır. Kural olarak, ortam değişkenleri ÜST DURUM adlarına sahip olmalıdır. Değişkene birden fazla değer atarken, iki nokta üst üste : karakteri ile ayrılmalıdır.

Değişkenler, ortam değişkenleri ve kabuk değişkenleri olmak üzere iki ana kategoride sınıflandırılabilir.

Ortam değişkenleri, sistem genelinde mevcut olan ve ortaya çıkan tüm alt süreçler ve kabuklar tarafından miras alınan değişkenlerdir.

Kabuk değişkenleri, yalnızca geçerli kabuk örneği için geçerli olan değişkenlerdir. zsh ve bash gibi her kabuğun kendi iç kabuk değişkenleri kümesi vardır.

Linux'ta ortam değişkenlerini listelemenize ve ayarlamanıza izin veren birkaç komut vardır:

  • env - Komut, geçerli programı değiştirmeden başka bir programı özel bir ortamda çalıştırmanıza olanak tanır. Bağımsız değişken olmadan kullanıldığında, geçerli ortam değişkenlerinin bir listesini yazdırır. printenv - Komut, tüm ortam değişkenlerini veya belirtilen ortam değişkenlerini yazdırır. set - Komut kabuk değişkenlerini ayarlar veya ayarlar. Bağımsız değişken olmadan kullanıldığında, ortam ve kabuk değişkenleri ve kabuk işlevleri de dahil olmak üzere tüm değişkenlerin bir listesini yazdırır. unset - Komut kabuk ve ortam değişkenlerini siler. export - Komut ortam değişkenlerini ayarlar.

Ortam Değişkenlerini Listele

Ortam değişkenlerini görüntülemek için en çok kullanılan komut printenv . Değişkenin adı komuta bağımsız değişken olarak iletilirse, yalnızca bu değişkenin değeri görüntülenir. Herhangi bir bağımsız değişken belirtilmezse, printenv her satırda bir değişken olan tüm ortam değişkenlerinin listesini yazdırır.

Örneğin, HOME ortam değişkeninin değerini görüntülemek için:

printenv HOME

Çıktı, şu anda oturum açmış olan kullanıcının yolunu yazdırır:

/home/linuxize

Ayrıca printenv komutuna birden fazla bağımsız değişken iletebilirsiniz:

printenv LANG PWD

en_US /home/linuxize

printenv

Çıktı şöyle görünecektir:

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

En yaygın ortam değişkenlerinden bazıları şunlardır:

  • USER - Oturum açmış olan geçerli kullanıcı. HOME - Geçerli kullanıcının giriş dizini. EDITOR - Kullanılacak varsayılan dosya düzenleyicisi. Bu, terminalinizde edit yazdığınızda kullanılacak edit . SHELL - Geçerli kullanıcının kabuğunun bash veya zsh gibi yolu. LOGNAME - Geçerli kullanıcının adı. PATH - Komutlar yürütülürken aranacak dizinlerin listesi. Bir komutu çalıştırdığınızda, sistem bu dizinleri bu sırayla arar ve bulunan ilk yürütülebilir dosyayı kullanır. LANG - Geçerli yerel ayarlar. TERM - Geçerli terminal öykünmesi. MAIL - Geçerli kullanıcının postasının saklandığı yer.

printenv ve env komutları yalnızca ortam değişkenlerini yazdırır. Ortam, kabuk ve değişkenler ve kabuk işlevleri de dahil olmak üzere tüm değişkenlerin bir listesini almak istiyorsanız set komutunu kullanabilirsiniz:

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=()

Komut, tüm değişkenlerin büyük bir listesini görüntüler, böylece çıktıyı less komuta bağlamak istersiniz.

set | less

Bir kabuk değişkeni yazdırmak için echo komutunu da kullanabilirsiniz. Örneğin, BASH_VERSION değişkeninin değerini yazdırmak için şunu çalıştırırsınız:

echo $BASH_VERSION

4.4.19(1)-release

Ortam Değişkenlerini Ayarlama

Kabuk ve Ortam değişkenleri arasındaki farkı daha iyi göstermek için Kabuk Değişkenlerini ayarlayarak başlayıp Ortam değişkenlerine geçeceğiz.

MY_VAR adıyla yeni bir kabuk değişkeni oluşturmak ve Linuxize değeri Linuxize yazın:

MY_VAR='Linuxize'

Değişkenin ayarlandığını, set komutunun çıktısını grep set | grep MY_VAR ile filtrelemek için echo $MY_VAR kullanarak doğrulayabilirsiniz. set | grep MY_VAR :

echo $MY_VAR

Linuxize

Bu değişkenin bir ortam değişkeni olup olmadığını kontrol etmek için printenv komutunu kullanın:

printenv MY_VAR

Çıktı boş olacak ve bu da değişkenin bir ortam değişkeni olmadığını söyleyecektir.

Değişkeni bir alt kabukta yazdırmayı deneyebilirsiniz ve boş bir çıktı alırsınız.

bash -c 'echo $MY_VAR'

export komutu Ortam değişkenlerini ayarlamak için kullanılır.

Bir ortam değişkeni oluşturmak için kabuk değişkenini bir ortam değişkeni olarak dışa aktarın:

export MY_VAR

Bunu çalıştırarak kontrol edebilirsiniz:

printenv MY_VAR

Linuxize

bash -c 'echo $MY_VAR'

Linuxize

Ortam değişkenlerini tek bir satırda da ayarlayabilirsiniz:

export MY_NEW_VAR="My New Var"

Bu şekilde oluşturulan Ortam Değişkenleri yalnızca geçerli oturumda kullanılabilir. Yeni bir kabuk açarsanız veya oturumu kapatırsanız tüm değişkenler kaybolur.

Kalıcı Ortam Değişkenleri

Ortam değişkenlerini kalıcı hale getirmek için, bu değişkenleri bash yapılandırma dosyalarında tanımlamanız gerekir. Çoğu Linux dağıtımında yeni bir oturum başlattığınızda, ortam değişkenleri aşağıdaki dosyalardan okunur:

  • /etc/environment - Sistem genelinde ortam değişkenlerini ayarlamak için bu dosyayı kullanın. Bu dosyadaki değişkenler aşağıdaki biçimde ayarlanır:

    FOO=bar VAR_TEST="Test Var"

    /etc/profile - Bu dosyada ayarlanan değişkenler her bash kabuk girildiğinde yüklenir. Bu dosyadaki ortam değişkenlerini bildirirken export komutunu kullanmanız gerekir:

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

    Kullanıcı başına kabuk spesifik yapılandırma dosyaları. Örneğin, Bash kullanıyorsanız, ~/.bashrc içindeki değişkenleri bildirebilirsiniz:

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

Geçerli ortam oturumuna yeni ortam değişkenlerini yüklemek için source komutunu kullanın:

source ~/.bashrc

Sonuç

Bu kılavuzda, ortam ve kabuk değişkenlerini nasıl ayarlayacağınızı ve listeleyeceğinizi gösterdik.

Herhangi bir sorunuz varsa yorum bırakmaktan çekinmeyin.

terminal