GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengatur dan Mendaftar Variabel Lingkungan di Linux

Dalam sistem berbasis Linux dan Unix, variabel lingkungan adalah sekumpulan nilai bernama dinamis, yang disimpan di dalam sistem yang digunakan oleh aplikasi yang diluncurkan dalam cangkang atau subkulit. Dengan kata sederhana, variabel lingkungan adalah variabel dengan nama dan nilai terkait.

Variabel lingkungan memungkinkan Anda untuk menyesuaikan cara kerja sistem dan perilaku aplikasi pada sistem. Misalnya, variabel lingkungan dapat menyimpan informasi tentang editor teks atau browser default, jalur ke file yang dapat dieksekusi, atau lokal sistem dan pengaturan tata letak keyboard.

Dalam panduan ini, kami akan menjelaskan cara membaca dan menyetel variabel lingkungan dan shell.

Variabel Lingkungan dan Variabel Shell #

Variabel memiliki format berikut:

KEY=value
KEY="Some other value"
KEY=value1:value2
  • Nama variabel peka huruf besar/kecil. Berdasarkan konvensi, variabel lingkungan harus memiliki nama UPPER CASE.
  • Saat menetapkan beberapa nilai ke variabel, mereka harus dipisahkan dengan tanda titik dua : karakter.
  • Tidak ada spasi di sekitar sama dengan = simbol.

Variabel dapat diklasifikasikan menjadi dua kategori utama, variabel lingkungan, dan variabel shell.

Variabel lingkungan adalah variabel yang tersedia di seluruh sistem dan diwarisi oleh semua proses dan shell anak yang dihasilkan.

Variabel cangkang adalah variabel yang hanya berlaku untuk instance shell saat ini. Setiap shell seperti zsh dan bash , memiliki set variabel shell internalnya sendiri.

Ada beberapa perintah yang tersedia yang memungkinkan Anda untuk membuat daftar dan mengatur variabel lingkungan di Linux:

  • env – Perintah ini memungkinkan Anda untuk menjalankan program lain di lingkungan khusus tanpa mengubah yang sekarang. Saat digunakan tanpa argumen, ia akan mencetak daftar variabel lingkungan saat ini.
  • printenv – Perintah mencetak semua atau variabel lingkungan yang ditentukan.
  • set – Perintah mengatur atau menghapus variabel shell. Ketika digunakan tanpa argumen, ia akan mencetak daftar semua variabel termasuk variabel lingkungan dan shell, dan fungsi shell.
  • unset – Perintah menghapus variabel shell dan environment.
  • export – Perintah mengatur variabel lingkungan.

Mencantumkan Variabel Lingkungan #

Perintah yang paling sering digunakan untuk menampilkan variabel lingkungan adalah printenv . Jika nama variabel diteruskan sebagai argumen ke perintah, hanya nilai variabel yang ditampilkan. Jika tidak ada argumen yang ditentukan, printenv mencetak daftar semua variabel lingkungan, satu variabel per baris.

Misalnya, untuk menampilkan nilai HOME variabel lingkungan yang akan Anda jalankan:

printenv HOME

Output akan mencetak jalur pengguna yang saat ini masuk:

/home/linuxize

Anda juga dapat meneruskan lebih dari satu argumen ke printenv perintah:

printenv LANG PWD
en_US
/home/linuxize

Jika Anda menjalankan printenv atau env perintah tanpa argumen apa pun itu akan menampilkan daftar semua variabel lingkungan:

printenv

Outputnya akan terlihat seperti ini:

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

Berikut adalah beberapa variabel lingkungan yang paling umum:

  • USER - Pengguna yang masuk saat ini.
  • HOME - Direktori beranda pengguna saat ini.
  • EDITOR - Editor file default yang akan digunakan. Ini adalah editor yang akan digunakan saat Anda mengetik edit di terminal Anda.
  • SHELL - Jalur shell pengguna saat ini, seperti bash atau zsh.
  • LOGNAME - Nama pengguna saat ini.
  • PATH - Daftar direktori yang akan dicari saat menjalankan perintah. Saat Anda menjalankan perintah, sistem akan mencari direktori tersebut dalam urutan ini dan menggunakan yang pertama kali ditemukan.
  • LANG - Pengaturan lokal saat ini.
  • TERM - Emulasi terminal saat ini.
  • MAIL - Lokasi penyimpanan email pengguna saat ini.

printenv dan env perintah hanya mencetak variabel lingkungan. Jika Anda ingin mendapatkan daftar semua variabel, termasuk lingkungan, shell dan variabel, dan fungsi shell, Anda dapat menggunakan set perintah:

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

Perintah akan menampilkan daftar besar semua variabel sehingga Anda mungkin ingin menyalurkan output ke less perintah.

set | less

Anda juga dapat menggunakan perintah echo untuk mencetak variabel shell. Misalnya, untuk mencetak nilai BASH_VERSION variabel yang akan Anda jalankan:

echo $BASH_VERSION
4.4.19(1)-release

Mengatur Variabel Lingkungan #

Untuk lebih menggambarkan perbedaan antara variabel Shell dan Lingkungan, kita akan mulai dengan menyetel Variabel Shell dan kemudian beralih ke variabel Lingkungan.

Untuk membuat variabel shell baru dengan nama MY_VAR dan nilai Linuxize cukup ketik:

MY_VAR='Linuxize'

Anda dapat memverifikasi bahwa variabel disetel dengan menggunakan echo $MY_VAR memfilter output dari perintah set dengan grepset | grep MY_VAR :

echo $MY_VAR
Linuxize

Gunakan printenv perintah untuk memeriksa apakah variabel ini merupakan variabel lingkungan atau bukan:

printenv MY_VAR

Output akan kosong yang memberitahu kita bahwa variabel tersebut bukan variabel lingkungan.

Anda juga dapat mencoba mencetak variabel di shell baru dan Anda akan mendapatkan output kosong.

bash -c 'echo $MY_VAR'

export perintah digunakan untuk mengatur variabel Lingkungan.

Untuk membuat variabel lingkungan cukup ekspor variabel shell sebagai variabel lingkungan:

export MY_VAR

Anda dapat memeriksanya dengan menjalankan:

printenv MY_VAR
Linuxize

Jika Anda mencoba mencetak variabel di shell baru kali ini Anda akan mendapatkan nama variabel yang tercetak di terminal Anda:

bash -c 'echo $MY_VAR'
Linuxize

Anda juga dapat mengatur variabel lingkungan dalam satu baris:

export MY_NEW_VAR="My New Var"

Variabel Lingkungan yang dibuat dengan cara ini hanya tersedia di sesi saat ini. Jika Anda membuka shell baru atau jika Anda logout semua variabel akan hilang.

Variabel Lingkungan Persisten #

Untuk membuat variabel Lingkungan persisten, Anda perlu mendefinisikan variabel tersebut di file konfigurasi bash. Di sebagian besar distribusi Linux saat Anda memulai sesi baru, variabel lingkungan dibaca dari file berikut:

  • /etc/environment - Gunakan file ini untuk mengatur variabel lingkungan di seluruh sistem. Variabel dalam file ini diatur dalam format berikut:

    FOO=barVAR_TEST="Test Var"
  • /etc/profile - Variabel yang diatur dalam file ini dimuat setiap kali shell login bash dimasukkan. Saat mendeklarasikan variabel lingkungan dalam file ini, Anda perlu menggunakan export perintah:

    export JAVA_HOME="/path/to/java/home"export PATH=$PATH:$JAVA_HOME/bin
  • File konfigurasi khusus shell per pengguna. Misalnya, jika Anda menggunakan Bash, Anda dapat mendeklarasikan variabel di ~/.bashrc :

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

Untuk memuat variabel lingkungan baru ke dalam sesi shell saat ini gunakan source perintah:

source ~/.bashrc

Kesimpulan #

Dalam panduan ini, kami telah menunjukkan kepada Anda cara mengatur dan membuat daftar variabel lingkungan dan shell.

Jangan ragu untuk meninggalkan komentar jika Anda memiliki pertanyaan.


Linux
  1. Variabel Lingkungan Linux:Cara Membaca dan Mengatur di VPS Linux

  2. Cara Mengatur, Mendaftar, dan Menghapus Variabel Lingkungan di Linux

  3. Bagaimana cara mencetak variabel lingkungan yang tampaknya tersembunyi?

  1. Cara Mengatur dan Menghapus Variabel Lingkungan Lokal, Pengguna dan Sistem di Linux

  2. Cara Mengelola dan Mendaftar Layanan di Linux

  3. Cara Mengatur/Membuat Variabel Lingkungan dan Shell di Linux

  1. Contoh Perintah Ekspor Linux (Cara Mengatur Variabel Lingkungan)

  2. Variabel Lingkungan Pengguna Dengan "su" dan "sudo" di Linux

  3. Cara mengatur variabel lingkungan Linux dengan Ansible