Phần này nói về biến môi trường (environment variables) trên Linux. Biến môi trường là các giá trị động được lưu trữ trong hệ thống và được sử dụng bởi các ứng dụng được khởi chạy trong các shell hoặc sub-shell. Các biến môi trường có một tên và giá trị tương ứng của chúng. Biến môi trường tùy chỉnh hiệu suất của hệ thống và hành vi của một ứng dụng.
Môi trường là đường dẫn cho một ứng dụng máy tính để tương tác với hệ thống. Biến môi trường có thể chứa thông tin về các ứng dụng mặc định của hệ thống, địa phương hóa hệ thống, đường dẫn của file thực thi và cài đặt bố cục bàn phím và nhiều hơn nữa. Biến môi trường làm cho một ứng dụng có sẵn theo hệ thống.
Các biến môi trường thông thường bao gồm các biến sau:
- PATH: Chứa danh sách các thư mục trong đó hệ thống của chúng ta tìm kiếm các file. Các thư mục được phân tách bằng dấu (:) colon.
- USER, AD: Chứa tên người dùng.
- HOME: Chứa đường dẫn mặc định đến thư mục chính của người dùng.
- EDITOR: Chứa đường dẫn đến trình chỉnh sửa được chỉ định.
- UID: Chứa đường dẫn đến ID duy nhất của người dùng.
- TERM: Chứa đường dẫn đến trình mô phỏng terminal mặc định.
- SHELL: Chứa đường dẫn đến shell mặc định được sử dụng bởi người dùng.
- ENV: Hiển thị tất cả các biến môi trường.
Để thiết lập biến môi trường trên Linux, có nhiều lệnh cho phép chúng ta thiết lập và tạo biến môi trường. Sử dụng lệnh “export” để tạo một biến môi trường mới. Để tạo một biến mới, sử dụng lệnh “export” theo sau bởi tên biến và giá trị của nó.
Cú pháp
export NAME=VALUE
Để tạo một biến mới có tên là new_variable, thực thi lệnh như sau:
export new_variable=10
Lệnh “echo” được sử dụng để hiển thị biến. Khi ta muốn hiển thị giá trị của biến “new_variable”, ta sử dụng lệnh “echo new_variable”.
echo new_variable
Tuy nhiên, nếu muốn hiển thị giá trị thực sự của biến đó, ta cần sử dụng ký hiệu “$” trước tên của biến, ví dụ “echo $new_variable”.
echo $new_variable
Xem xét kết quả bên dưới:
Để thiết lập biến môi trường Java, thực thi lệnh như sau
export PATH=$PATH:/home/jdk1.8/bin/
Chúng ta cũng có thể tạo một người dùng để định nghĩa một biến bằng cách khai báo trực tiếp trên terminal.
Nếu chúng ta muốn tạo một biến new_variable2, chúng ta có thể tạo như sau:
new_variable2=100
Xem kết quả dưới đây:
Ghi chú: Các biến phân biệt chữ hoa-chữ thường; chúng ta không thể sử dụng tên biến ‘new_variable’ như ‘New_variable.’
Lệnh env
Lệnh env được sử dụng để hiển thị tất cả các biến có sẵn trong hệ thống.
env
Kết quả
SHELL=/bin/bash
SESSION_MANAGER=local/javatpoint-GB-BXBT-2807:@/tmp/.ICE-unix/1458,unix/javatpoint-GB-BXBT-2807:/tmp/.ICE-unix/1458
COLORTERM=truecolor
XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
XDG_MENU_PREFIX=gnome-
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
GTK_IM_MODULE=ibus
LANGUAGE=en_IN:en
QT4_IM_MODULE=ibus
MANDATORY_PATH=/usr/share/gconf/ubuntu.mandatory.path
GNOME_SHELL_SESSION_MODE=ubuntu
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
XMODIFIERS=@im=ibus
DESKTOP_SESSION=ubuntu
SSH_AGENT_PID=1362
GTK_MODULES=gail:atk-bridge
PWD=/home/javatpoint
LOGNAME=javatpoint
XDG_SESSION_DESKTOP=ubuntu
XDG_SESSION_TYPE=x11
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
XAUTHORITY=/run/user/1000/gdm/Xauthority
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
WINDOWPATH=2
HOME=/home/javatpoint
USERNAME=javatpoint
IM_CONFIG_PHASE=1
LANG=en_IN
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
XDG_CURRENT_DESKTOP=ubuntu:GNOME
VTE_VERSION=5802
GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/dc6e48ed_7868_43d5_a086_fd6d6a90a74a
INVOCATION_ID=fadf556d1cf5422ea55b247bf57c3c99
MANAGERPID=1252
CLUTTER_IM_MODULE=ibus
GJS_DEBUG_OUTPUT=stderr
LESSCLOSE=/usr/bin/lesspipe %s %s
XDG_SESSION_CLASS=user
TERM=xterm-256color
DEFAULTS_PATH=/usr/share/gconf/ubuntu.default.path
LESSOPEN=| /usr/bin/lesspipe %s
USER=javatpoint
GNOME_TERMINAL_SERVICE=:1.216
DISPLAY=:0
SHLVL=1
QT_IM_MODULE=ibus
XDG_RUNTIME_DIR=/run/user/1000
JOURNAL_STREAM=9:35179
XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
GDMSESSION=ubuntu
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
_=/usr/bin/env
javatpoint@javatpoint-GB-BXBT-2807:~$
Bằng cách xóa biến môi trường, chúng ta có thể loại bỏ tất cả các thành phần hiện có của biến đó. Để xóa một biến môi trường, ta thực thi lệnh unset theo sau là tên biến:
unset tên biến Lệnh trên sẽ xóa biến được chỉ định và các thành phần của nó khỏi hệ thống.
Ví dụ: Để xóa biến “new_variable” khỏi hệ thống, ta thực thi lệnh như sau:
unset new_variable
Kết quả