Biến môi trường (environment variable Linux) thường được dùng trong shell Bash để cấu hình các dịch vụ và ứng dụng web. Bài viết này Vietnix sẽ hướng dẫn cách đặt các biến môi trường trong Linux đơn giản nhất.
Environment variable trong Linux là gì?
Biến môi trường trong Linux được hiểu là các cặp giá trị được sử dụng với mục đích lưu trữ thông tin cấu hình và cài đặt hệ thống có thể giúp người dùng và chương trình dễ dàng truy cập và sử dụng thông tin.
Environment varible được quản lý bởi hệ điều hành Linux, được truy cập và sửa đổi thông tin qua các dòng lệnh hoặc tập tin cấu hình.
Bạn đọc có thể tham khảo qua một số bài viết liên quan về chủ đề Linux mà Vietnix đã tổng hợp:
Cách đặt environment variable Linux
Để đặt một biến môi trường, bạn có thể dùng lệnh export trong Linux kèm theo tên biến để truy cập trong script và cấu hình của shell, đồng thời gán giá trị cho biến đó. Cú pháp sẽ có dạng như sau:
export NAME=VALUE
export JAVA_HOME=/opt/openjdk11
Để xuất giá trị của biến môi trường từ shell, bạn dùng lệnh echo thêm dấu $ vào trước tên biến.
echo $JAVA_HOME
Nếu biến không có giá trị nào thì màn hình sẽ hiển thị một dòng trống.
Bạn đọc có tham qua bài viết Linux Shell và Shell Script để tìm hiểu rõ hơn bạn nhé.
Cách hủy đặt biến môi trường trong Linux
Cách hủy biến môi trường rất đơn giản, chỉ cần dùng lệnh unset kèm theo tên biến cần hủy:
unset VARIABLE_NAME
Giả sử cần hủy đặt biến JAVA_HOME vừa tạo ở trên:
unset JAVA_HOME
Cách hiển thị danh sách tất cả environment variable Linux
Để liệt kê danh sách tất cả biến môi trường hiện có, bạn dùng lệnh set mà không thèm theo tham số nào:
set
Output sẽ có dạng như sau:
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:globasciiranges:histappend:interactive_comments:login_shell:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=([0]="0")
BASH_ARGV=()
BASH_CMDS=()
BASH_COMPLETION_VERSINFO=([0]="2" [1]="8")
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="5" [1]="0" [2]="3" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
BASH_VERSION='5.0.3(1)-release'
COLUMNS=208
DIRSTACK=()
EUID=1000
GROUPS=()
HISTCONTROL=ignoreboth
HISTFILE=/home/ubuntu/.bash_history
HISTFILESIZE=2000
HISTSIZE=1000
HOME=/home/ubuntu
HOSTNAME=ubuntu1904
HOSTTYPE=x86_64
IFS=$' \t\n'
LANG=en_US.UTF-8
LESSCLOSE='/usr/bin/lesspipe %s %s'
LESSOPEN='| /usr/bin/lesspipe %s'
LINES=54
Cách đặt biến môi trường cố định cho một user
Khi các biến môi trường được đặt từ shell bằng lệnh export, các biến này sẽ mất khi phiên kết thúc. Vậy nếu bạn cần đặt biến này cố định cho một môi trường của user nhất định thì cần phải làm như thế nào? Trong trường hợp này bạn chỉ cần export biến này từ script của profile người dùng theo các bước dưới đây:
1. Trước tiên, mở profile của user trong một trình soạn thảo bất kỳ:
vi ~/.bash_profile
2. Thêm lệnh export cho mọi biến môi trường cần đặt cố định:
export JAVA_HOME=/opt/openjdk11
3. Cuối cùng là lưu lại các thay đổi để hoàn tất.
Tuy nhiên, việc thêm biến môi trường vào bash profile của một user sẽ chưa export biến này. Các biến môi trường có thể được tự động export trong lần đăng nhập tới, còn nếu muốn export ngay lập tức thì bạn có thể dùng lệnh source như sau:
source ~/.bash_profile
Cách xuất biến môi trường trong Linux
Export là một lệnh shell có sẵn cho Bash, dùng để xuất một biến môi trường để các tiến trình con có thể kế thừa. Để export một biến môi trường, bạn có thể dùng lệnh export khi đặt biến như sau:
export MYVAR="my variable value"
Bên cạnh đó, bạn cũng có thể xem danh sách các biến môi trường đã được export bằng lệnh export:
export
# output
SHELL=/bin/zsh
SHLVL=1
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.1pB5Pry8Id/Listeners
TERM=xterm-256color
TERM_PROGRAM=vscode
TERM_PROGRAM_VERSION=1.48.2
Để xem các biến đã được export trong shell hiện tại, bạn thêm flag -p vào lệnh:
export -p
Đặt biến môi trường toàn cục cho mọi user
Một biến vĩnh viễn là biến vẫn tồn tại sau khi reboot hệ thống, có thể được tạo bằng cách thêm vào profile mặc định. Profile này được load bởi mọi user trên hệ thống, trong đó có cả các tài khoản dịch vụ.
Mọi cài đặt profile toàn cục đều được lưu trong thư mục /etc/profile. File này có thể được chỉnh sửa nhưng bạn nên lưu trữ các biến môi trường toàn cục trong thư mục /etc/profile.d – nơi chứa danh sách các file dùng để đặt biến môi trường cho toàn bộ hệ thống.
1. Tạo một file mới trong /etc/profile.d để lưu trữ các biến môi trường toàn cục, giả sử bạn cần tạo một biến cho HTTP_PROXY:
sudo touch /etc/profile.d/http_proxy.sh
2. Tiếp theo, mở profile mặc định trong một trình soạn thảo bất kỳ:
sudo vi /etc/profile.d/http_proxy.sh
3. Bây giờ tên các dòng mới để export biến môi trường trong Linux:
export HTTP_PROXY=http://my.proxy:8080
export HTTPS_PROXY=https://my.proxy:8080
export NO_PROXY=localhost,::1,.example.com
Sau đó lưu lại thay đổi rồi thoát khỏi trình soạn thảo.
Vietnix – Nhà cung cấp VPS linh hoạt đáp ứng mọi nhu cầu
Vietnix, với hơn 12 năm kinh nghiệm, cung cấp dịch vụ VPS uy tín, giúp doanh nghiệp tối ưu hóa hiệu suất và tiết kiệm chi phí. Dịch vụ VPS tại Vietnix mang đến khả năng mở rộng linh hoạt, bảo mật cao, sao lưu dữ liệu an toàn, tốc độ cao, đa dạng hệ điều hành và hỗ trợ kỹ thuật 24/7, đảm bảo hệ thống hoạt động ổn định và hiệu quả lâu dài.
Để đáp ứng nhu cầu hiệu năng cao hơn nữa, Vietnix còn cung cấp VPS AMD với CPU AMD EPYC và ổ cứng NVMe Enterprise, mang đến tốc độ xử lý dữ liệu vượt trội. Lựa chọn này đặc biệt phù hợp cho các ứng dụng yêu cầu thao tác đọc/ghi dữ liệu liên tục và tính toán phức tạp, đồng thời vẫn đảm bảo tính linh hoạt trong việc nâng cấp tài nguyên và kiểm soát chi phí.
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Bài viết này đã giới thiệu cách đặt và hướng dẫn một số thao tác cơ bản với environment variable Linux (biến môi trường trong Linux). Các lệnh trong bài viết có thể được áp dụng cho mọi bản phân phối Linux. Nếu có bất kỳ thắc mắc nào thì hãy để lại ở phần comment bên dưới để được hỗ trợ nhanh nhất nhé!