Hướng dẫn này sẽ chỉ cho bạn cách thiết lập biến môi trường trong script Bash/Shell dùng từ khóa export.
Thông thường, biến khai báo trong script Bash/Shell chỉ tồn tại trong phạm vi script đó đang chạy.
Để làm cho chúng có sẵn ở nơi khác, chúng có thể thiết lập thành biến môi trường – nghĩa là biến sẽ có sẵn khi thực thi lệnh bên ngoài script trên hệ thống – ví dụ, làm cho biến có sẵn từ dòng lệnh sau khi script hoàn thành.
Từ khóa export làm điều này – đây là cách dùng nó.
Biến môi trường là gì
Biến môi trường hoạt động giống như bất kỳ biến nào khác, nhưng nó có sẵn mọi nơi – bên trong script, trên dòng lệnh, và cho các chương trình khác đang chạy.
Hệ thống của bạn đã có nhiều biến môi trường được định nghĩa – ví dụ, thư mục home của bạn có sẵn bằng cách đọc biến môi trường $HOME.
Bạn có thể xem tất cả biến môi trường hiện tại với lệnh env:
env
Thiết lập biến môi trường với export
Script sau, testScript.sh, thiết lập một biến môi trường và thoát:
#!/bin/bash export MY_ENV_VAR="Save the environment!"
Khi script trên được thực thi:
sh ./testScript.sh
Biến MY_ENV_VAR có sẵn sau khi hoàn thành. Có thể xác nhận bằng:
echo $MY_ENV_VAR
Biến môi trường đã được thiết lập và hiện có sẵn trên toàn hệ thống.
Lệnh printenv cũng có thể dùng để xem biến môi trường:
printenv MY_ENV_VAR
Duy trì sau khởi động lại
Biến môi trường thiết lập với export sẽ không tồn tại sau khi khởi động lại máy tính. Để thiết lập vĩnh viễn, phải khai báo trong file ~/.bashrc.
File ~/.bashrc là script chạy mỗi khi bạn đăng nhập. Thêm câu lệnh export vào cuối file, biến môi trường sẽ có sẵn cho mỗi phiên đăng nhập:
nano ~/.bashrc
Trên đây, trình soạn thảo nano dùng để sửa file. Thêm câu lệnh export vào cuối file, chúng sẽ còn đó sau reboot:
export MY_ENV_VAR="Save the environment!"
Biến môi trường hệ thống
Các biến môi trường này chỉ dành cho người dùng hiện tại. Nếu bạn là admin và muốn chúng có sẵn cho tất cả người dùng và tiến trình, thêm dòng vào file /etc/environment:
sudo nano /etc/environment