Danh sách các biến môi trường trong Linux/Unix

⚡ Tóm tắt thông minh

Các biến môi trường trong Linux và Unix là các giá trị động được đặt tên, định hình cách hoạt động của các chương trình và shell, lưu trữ các thiết lập như PATH, thư mục chính, trình soạn thảo mặc định, ngôn ngữ và shell hiện đang được sử dụng.

  • 🌱 Chúng là gì: Các biến môi trường chứa các giá trị động ảnh hưởng đến các quy trình và có thể được tạo, chỉnh sửa và xóa.
  • 🧭 CON ĐƯỜNG: Biến PATH liệt kê các thư mục mà shell tìm kiếm để tìm và chạy các lệnh thực thi.
  • 🔎 Đọc các giá trị: Lệnh echo hiển thị một biến, trong khi env và printenv liệt kê tất cả các biến môi trường.
  • 🆕 Tạo: Gán giá trị bằng NAME=value, sau đó sử dụng lệnh export để cung cấp giá trị đó cho các tiến trình con.
  • 🗑️ Đang xóa: Lệnh unset xóa một biến và giá trị của nó khỏi phiên shell hiện tại.
  • 💾 Sự bền bỉ: Thêm các dòng xuất khẩu vào ~/.bashrc hoặc /etc/environment để giữ nguyên các biến giữa các phiên làm việc.
  • 🤖 Hỗ trợ từ AI: Các trợ lý AI và GitHub Copilot có thể kiểm tra các biến và tạo ra các tập lệnh shell sử dụng chúng.

Danh sách các biến môi trường thông dụng trong Linux và Unix.

Các biến môi trường là một trong những điều đầu tiên cần hiểu rõ trong bất kỳ dự án nào. Linux Hoặc hệ thống Unix, bởi vì chúng âm thầm điều khiển cách hoạt động của các chương trình và shell của bạn. Hướng dẫn này giải thích chúng là gì, những loại phổ biến nhất và cách đọc, tạo và xóa chúng.

Môi trường máy tính là gì?

Môi trường điện toán là nền tảng (nền tảng = hệ điều hành + bộ xử lý) nơi người dùng có thể chạy các chương trình.

Biến là gì?

Trong khoa học máy tính, biến là một vị trí để lưu trữ một giá trị, có thể là tên tệp, văn bản, số hoặc bất kỳ dữ liệu nào khác. Nó thường được gọi bằng tên ký hiệu của nó, được đặt cho nó khi tạo ra. Giá trị được lưu trữ sau đó có thể được hiển thị, xóa, chỉnh sửa và lưu lại.

Biến đóng vai trò quan trọng trong lập trình máy tính vì chúng cho phép lập trình viên viết các chương trình linh hoạt. Vì chúng gắn liền với hệ điều hành mà bạn đang làm việc, nên điều quan trọng là phải biết một số biến và cách bạn có thể tác động đến chúng.

Biến môi trường là gì?

Biến môi trường là các giá trị động ảnh hưởng đến các tiến trình hoặc chương trình trên máy tính. Chúng tồn tại trong mọi hệ điều hành, nhưng loại biến có thể khác nhau. Biến môi trường có thể được tạo, chỉnh sửa, lưu và xóa, và chúng cung cấp thông tin về hành vi của hệ thống.

Các biến môi trường có thể thay đổi cách hoạt động của phần mềm và chương trình. Ví dụ, biến môi trường $LANG lưu trữ ngôn ngữ mà người dùng hiểu. Giá trị này được ứng dụng đọc để người dùng Trung Quốc được hiển thị giao diện tiếng Quan thoại trong khi người dùng Mỹ được hiển thị giao diện tiếng Anh.

Chúng ta hãy cùng nghiên cứu một số biến môi trường phổ biến:

Biến Mô tả Chi tiết
PATH Biến này chứa một danh sách các thư mục được phân tách bằng dấu hai chấm (:) mà hệ thống của bạn tìm kiếm các tệp thực thi. Khi bạn nhập một lệnh trong terminal, shell sẽ tìm kiếm lệnh đó trong các thư mục được liệt kê trong biến $PATH. Nếu tìm thấy lệnh, nó sẽ thực thi. Nếu không, nó sẽ trả về lỗi 'lệnh không được tìm thấy'.
USER Tên người dùng
TRANG CHỦ Đường dẫn mặc định tới thư mục chính của người dùng
EDITOR Đường dẫn đến chương trình chỉnh sửa nội dung của các tệp.
UID ID duy nhất của người dùng
HẠN Trình mô phỏng thiết bị đầu cuối mặc định
SHELL Shell đang được người dùng sử dụng

Truy cập các giá trị biến

Để xác định giá trị của một biến, hãy sử dụng lệnh echo:

echo $VARIABLE

Ví dụ, ảnh chụp màn hình bên dưới hiển thị giá trị của biến PATH khi sử dụng lệnh echo.

Hiển thị giá trị biến PATH bằng lệnh echo

Mọi biến môi trường đều có thể được đọc theo cùng một cách. Kết quả bên dưới cho thấy lệnh `echo` trả về giá trị của một biến.

Kết quả của lệnh `echo` hiển thị giá trị của một biến môi trường.

Tên biến phân biệt chữ hoa chữ thường, vì vậy hãy chắc chắn rằng bạn nhập tên biến đúng chính tả; nếu không, bạn có thể không nhận được kết quả mong muốn. Để liệt kê tất cả các biến môi trường cùng một lúc, hãy sử dụng lệnh `env`, như được hiển thị bên dưới.

Lệnh `env` liệt kê tất cả các biến môi trường trong terminal.

Đặt biến môi trường mới

Bạn có thể tạo biến do người dùng định nghĩa bằng cú pháp này:

VARIABLE_NAME=variable_value

Hãy nhớ rằng, tên biến phân biệt chữ hoa chữ thường và thường được viết bằng chữ in hoa. Biến được tạo theo cách này là biến cục bộ của shell mà chỉ shell hiện tại mới có thể thấy. Để chuyển nó thành biến môi trường mà các tiến trình con cũng kế thừa, hãy sử dụng lệnh export:

export VARIABLE_NAME=value

Ảnh chụp màn hình bên dưới cho thấy một biến mới được tạo ra và sau đó được hiển thị bằng lệnh `echo`.

Tạo và hiển thị biến môi trường do người dùng định nghĩa mới

Xóa biến

Cú pháp sau đây loại bỏ một biến khỏi hệ thống:

unset variablename

Thao tác này xóa biến và giá trị của nó khỏi phiên shell hiện tại, như minh họa bên dưới.

Xóa biến môi trường bằng lệnh unset.

Câu Hỏi Thường Gặp

Biến shell chỉ tồn tại trong shell hiện tại và không được truyền sang các chương trình khác. Biến môi trường là một biến shell đã được xuất khẩu, do đó các tiến trình con được khởi tạo từ shell đó sẽ kế thừa nó. Sử dụng lệnh `export` để chuyển đổi một biến thành biến môi trường thực sự.

Các biến được thiết lập trong terminal sẽ biến mất khi bạn đóng phiên làm việc. Để giữ lại chúng, hãy thêm dòng `export` vào một tệp khởi động: `~/.bashrc` hoặc `~/.profile` cho một người dùng duy nhất, hoặc `/etc/environment` cho tất cả người dùng trên hệ thống. Tải lại tệp hoặc mở lại terminal để áp dụng.

Thêm thư mục mới vào biến môi trường PATH hiện có để tránh ghi đè: `export PATH=$PATH:/your/new/directory`. Thao tác này sẽ thêm thư mục của bạn vào danh sách các lệnh mà shell tìm kiếm. Đặt dòng lệnh tương tự vào tệp `~/.bashrc` để thay đổi được lưu lại trong các phiên làm việc tiếp theo.

Lệnh `printenv` chỉ liệt kê các biến môi trường và có thể hiển thị một biến duy nhất, ví dụ như `printenv HOME`. Lệnh `env` cũng liệt kê các biến môi trường và có thể chạy một chương trình với môi trường đã được sửa đổi. Lệnh `set` hiển thị mọi thứ, bao gồm cả các biến và hàm của shell, chứ không chỉ những biến và hàm được xuất ra.

Điều này thường có nghĩa là bạn đã ghi đè lên biến môi trường PATH thay vì thêm vào cuối biến, do đó shell không còn tìm thấy các lệnh chuẩn nữa. Luôn luôn bao gồm biến $PATH khi thiết lập biến môi trường. Để khắc phục trong phiên hiện tại, hãy chạy lệnh export PATH=/usr/local/bin:/usr/bin:/bin, sau đó sửa tệp khởi động của bạn.

Phương pháp này tiện lợi nhưng tiềm ẩn rủi ro. Các biến môi trường có thể được đọc từ thư mục /proc, được kế thừa bởi các tiến trình con và thường bị rò rỉ vào nhật ký hoặc báo cáo sự cố. Đối với các thông tin bí mật nhạy cảm, nên ưu tiên sử dụng trình quản lý bí mật chuyên dụng hoặc tệp được mã hóa với quyền truy cập hạn chế thay vì biến thông thường.

Các trợ lý AI có thể giải thích chức năng của một biến số lạ, kiểm tra các tệp cấu hình để tìm các mục bị thiếu hoặc trùng lặp, và gắn cờ các thông tin bí mật vô tình bị lộ trong các biến số. Các công cụ học máy cũng có thể quét môi trường quy trình trên nhiều máy chủ để phát hiện các cấu hình sai mà việc xem xét thủ công sẽ rất tốn thời gian.

Vâng. Trợ lý GitHub Công cụ này có thể tạo ra các câu lệnh xuất, chỉnh sửa tệp ~/.bashrc và các tập lệnh shell đọc các biến như $HOME hoặc $PATH. Nó gợi ý cú pháp khi bạn gõ, tuy nhiên bạn nên xem lại bất kỳ đoạn mã nào xử lý thông tin xác thực trước khi chạy.

Tóm tắt bài viết này với: