GNU/Linux >> Belajar Linux >  >> Linux

Kiat dan trik variabel lingkungan Linux

Variabel lingkungan ada untuk meningkatkan dan menstandardisasi lingkungan shell Anda di sistem Linux. Ada variabel lingkungan standar yang disiapkan sistem untuk Anda, tetapi Anda juga dapat mengatur variabel lingkungan Anda sendiri, atau secara opsional mengubah variabel default untuk memenuhi kebutuhan Anda.

[ Unduhan gratis:Lembar contekan perintah Linux tingkat lanjut. ]

Dimulai dengan env perintah

Jika Anda ingin melihat variabel lingkungan Anda, gunakan env perintah dan cari kata dalam huruf besar semua di bagian paling kiri keluaran. Ini adalah variabel lingkungan Anda, dan nilainya ada di sebelah kanan:

 $ env
LS_COLORS=(long output)
LANG=en_US.UTF-8
HISTCONTROL=ignoredups
HOSTNAME=rhel8t
XDG_SESSION_ID=5
USER=khess
SELINUX_ROLE_REQUESTED=
PWD=/home/khess
HOME=/home/khess
SSH_CLIENT=192.168.1.94 53911 22
SELINUX_LEVEL_REQUESTED= XDG_DATA_DIRS=/home/khess/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
SSH_TTY=/dev/pts/1
MAIL=/var/spool/mail/khess
TERM=xterm-256color
SHELL=/bin/bash SELINUX_USE_CURRENT_RANGE=
SHLVL=1
LOGNAME=khess
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XDG_RUNTIME_DIR=/run/user/1000 PATH=/home/khess/.local/bin:/home/khess/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/bin
HISTSIZE=1000
LESSOPEN=||/usr/bin/lesspipe.sh %s _=/usr/bin/env 

Saya telah menghilangkan output dari LS_COLORS variabel karena sangat panjang. Coba perintah ini di sistem Anda untuk melihat seperti apa tampilan output lengkapnya.

Banyak variabel lingkungan ditetapkan dan kemudian diekspor dari /etc/profile file dan /etc/bashrc mengajukan. Ada baris di /etc/profile yang berbunyi:

 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

Untuk membuat perubahan permanen pada variabel lingkungan untuk semua akun baru, buka /etc/skel Anda file, seperti .bashrc , dan ubah yang sudah ada atau masukkan yang baru. Saat Anda membuat pengguna baru, /etc/skel ini file akan disalin ke direktori home pengguna baru.

Menjelajahi level shell (SHLVL )

Untuk memanggil nilai variabel lingkungan tunggal, masukkan perintah berikut, menggunakan SHLVL (Tingkat Shell) sebagai contoh:

 $ echo $SHLVL 1

Variabel ini berubah tergantung pada berapa banyak subkulit yang Anda buka. Misalnya, masukkan bash dua kali dan kemudian berikan perintah lagi:

 $ bash 
$ bash echo $SHLVL 3

Tingkat shell tiga berarti Anda memiliki dua subkulit, jadi ketik exit dua kali untuk kembali ke shell biasa Anda.

[Ingin mencoba Red Hat Enterprise Linux? Unduh sekarang secara gratis.] 

Memanipulasi PATH variabel

PATH variabel berisi jalur pencarian untuk mengeksekusi perintah dan skrip. Untuk melihat PATH . Anda , masukkan:

 $ echo $PATH /home/khess/.local/bin:/home/khess/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin

Ubah sementara PATH Anda dengan memasukkan perintah berikut untuk menambahkan /opt/bin :

 $ PATH=$PATH:/opt/bin
$ echo $PATH /home/khess/.local/bin:/home/khess/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/bin

Perubahan bersifat sementara untuk sesi saat ini. Itu tidak permanen karena tidak dimasukkan ke dalam .bashrc mengajukan. Untuk membuat perubahan permanen, masukkan perintah PATH=$PATH:/opt/bin ke .bashrc direktori home Anda berkas.

Saat Anda melakukan ini, Anda membuat PATH baru variabel dengan menambahkan direktori ke PATH saat ini variabel, $PATH . Tanda titik dua (: ) memisahkan PATH entri.

Menguraikan $USER , $PWD , dan $LOGNAME

Saya punya teori yang menurut saya telah terhalau oleh diri saya sendiri yang baik. Teori saya adalah bahwa perintah pwd dan whoami mungkin baru saja membaca dan mengulang isi variabel shell $PWD dan $USER atau $LOGNAME , masing-masing. Yang mengejutkan saya, setelah melihat kode sumbernya, ternyata tidak. Mungkin saya harus menulis ulang mereka untuk melakukan hal itu. Tidak ada alasan untuk menambahkan beberapa pustaka dan hampir 400 baris kode C untuk menampilkan direktori kerja. Anda cukup membaca $PWD dan gema itu ke layar (stdout). Hal yang sama berlaku untuk whoami dengan salah satu $USER atau $LOGNAME .

Jika Anda ingin melihat sendiri kode sumbernya, ada di GitHub dan tempat lain. Jika Anda menemukan bahwa program ini (atau yang lain) menggunakan variabel shell, saya ingin mengetahuinya. Memang, saya tidak begitu pandai membaca kode sumber C, jadi mereka bisa menggunakan variabel shell dengan sangat baik dan saya tidak akan pernah mengetahuinya. Mereka sepertinya tidak mengerti dari apa yang saya baca dan pahami.

Memainkan $SHELL permainan

Dalam tinjauan umum variabel lingkungan terakhir ini, saya ingin menunjukkan kepada Anda bagaimana $SHELL variabel berguna. Anda tidak harus tetap berada di shell default Anda, yang kemungkinan besar adalah Bash. Anda dapat masuk dan bekerja di shell apa pun yang diinstal pada sistem. Untuk mengetahui shell mana yang diinstal pada sistem Anda, gunakan perintah berikut:

 $ cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash

Semua itu sebenarnya Bash, jadi jangan terlalu bersemangat. Jika Anda beruntung, Anda mungkin juga melihat entri untuk /bin/tcsh , /bin/csh , /bin/mksh , /bin/ksh , dan /bin/rksh .

Anda dapat menggunakan salah satu dari cangkang ini dan memiliki hal-hal berbeda yang terjadi di masing-masing cangkang jika Anda menginginkannya. Namun, katakanlah Anda adalah admin Solaris dan ingin menggunakan cangkang Korn. Anda dapat mengubah shell default Anda menjadi /bin/ksh menggunakan chsh perintah:

 $ chsh Changing shell for khess. New shell [/bin/bash]: /bin/ksh Password: Shell changed.

Sekarang, jika Anda mengetik echo $SHELL , jawabannya adalah /bin/bash , jadi Anda harus logout dan login kembali untuk melihat perubahannya. Setelah logout dan login, Anda akan menerima respons berbeda untuk echo $SHELL .

Anda dapat memasukkan shell lain dan echo $SHELL harus laporkan shell Anda saat ini dan $SHLVL , yang akan membuat Anda tetap berorientasi pada seberapa dalam Anda.

Menyetel variabel lingkungan Anda sendiri

Anda dapat mengatur variabel Anda sendiri di baris perintah per sesi, atau menjadikannya permanen dengan menempatkannya ke dalam ~/.bashrc file, ~/.profile , atau file startup mana pun yang Anda gunakan untuk shell default Anda. Pada baris perintah, masukkan variabel lingkungan Anda dan nilainya seperti yang Anda lakukan sebelumnya saat mengubah PATH variabel.

Menutup

Variabel shell atau lingkungan sangat membantu pengguna, sysadmin, dan programmer. Mereka berguna pada baris perintah dan skrip. Saya telah menggunakannya selama bertahun-tahun untuk banyak tujuan yang berbeda, dan meskipun beberapa dari mereka mungkin sedikit tidak konvensional, mereka bekerja dan masih melakukannya. Buat sendiri atau gunakan yang diberikan kepada Anda oleh sistem dan aplikasi yang diinstal. Mereka benar-benar dapat memperkaya pengalaman pengguna Linux Anda.

Sebagai catatan tambahan tentang variabel dan shell, apakah ada yang berpikir bahwa mereka yang memprogram dalam JSON hanya boleh menggunakan Bourne Shell? Diskusikan.


Linux
  1. Tip dan trik menggunakan CUPS untuk mencetak dengan Linux

  2. 10 Trik dan Tips Baris Perintah Linux Menarik yang Patut Diketahui

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

  1. Tips dan trik untuk curl dan wget

  2. 8 Tip dan Trik Baris Perintah MySQL Teratas

  3. Tip dan trik .htaccess Linux

  1. Tip/trik navigasi baris perintah Linux 3 - variabel lingkungan CDPATH

  2. aksesibilitas variabel lingkungan di Linux

  3. Tip dan trik rsync favorit