Hướng dẫn sử dụng lệnh Linux env cho người mới bắt đầu (5 ví dụ)

theanh

Administrator
Nhân viên
Lệnh env của Linux được sử dụng để hiển thị và quản lý các biến môi trường trong phiên shell. Biến môi trường là các giá trị động ảnh hưởng đến các quy trình hoặc chương trình đang chạy trong shell, chẳng hạn như đường dẫn đến các tệp thực thi, các thiết lập dành riêng cho người dùng và hành vi của hệ thống. Bằng cách chạy lệnh env mà không có đối số, nó sẽ liệt kê tất cả các biến môi trường hiện tại và các giá trị của chúng. Ngoài ra, env có thể được sử dụng để thực thi một lệnh với môi trường đã sửa đổi bằng cách tạm thời thiết lập hoặc ghi đè các biến môi trường cụ thể trong thời gian của lệnh đó. Điều này hữu ích khi thử nghiệm hoặc chạy chương trình trong một môi trường cụ thể mà không cần thay đổi cấu hình toàn cục.

Nhưng trước khi thực hiện, cần lưu ý rằng tất cả các lệnh và hướng dẫn trong hướng dẫn này đã được thử nghiệm trên Debian 12 và Ubuntu 24.04.

Lệnh env Linux​

Theo định nghĩa, lệnh env cho phép bạn chạy chương trình trong môi trường đã sửa đổi. Sau đây là cú pháp của lệnh, như đã đề cập trên trang hướng dẫn của lệnh:
Mã:
env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]
Và đây là những gì trang hướng dẫn nói về env:
Mã:
Set each NAME to VALUE in the environment and run COMMAND.
Các ví dụ theo kiểu Hỏi & Đáp sau đây sẽ giúp bạn hiểu rõ hơn về cách lệnh này hoạt động:

Câu hỏi 1. Làm thế nào để truy cập tất cả các biến môi trường bằng lệnh env?​

Môi trường Bash, như bạn có thể đã biết, bao gồm các mục VARNAME=VALUE. Để truy cập tất cả các biến môi trường cũng như các giá trị liên quan đến chúng, hãy thực hiện lệnh env mà không có bất kỳ tùy chọn nào.
Mã:
env
Sau đây là đầu ra của lệnh trên trong trường hợp của chúng tôi:


env-default.png




Câu hỏi 2. Làm thế nào để tạm thời thay đổi môi trường bằng env?​

Tính năng chính của env là khả năng tạm thời thay đổi môi trường của một quy trình. Ví dụ, chúng tôi đã tạo một tệp thực thi nhỏ — được gọi là env — hiển thị giá trị của biến môi trường USER khi thực thi.

Đây là kết quả trong trường hợp bình thường:


env-user-normal.png



Bây giờ, những gì chúng tôi đã làm là sử dụng lệnh env để tạm thời thay đổi giá trị của biến môi trường USER từ 'himanshu' thành 'HTF' cho tệp thực thi/quy trình. Sau đây là lệnh chúng tôi sử dụng trong trường hợp này:
Mã:
env USER=HTF ./env
Và đây là đầu ra được tạo ra trong trường hợp này:


env-user-changed.png



Vì vậy, bạn có thể thấy rằng tệp thực thi đã trả về giá trị mới.

Lưu ý: Theo cú pháp chung của công cụ, bạn có thể điều chỉnh giá trị của nhiều biến môi trường và khiến quy trình sử dụng các giá trị mới này.

Câu hỏi 3. Làm thế nào để khiến một tiến trình bỏ qua môi trường hiện tại bằng env?​

Nếu muốn, bạn cũng có thể khiến một tiến trình bỏ qua môi trường hiện tại/thừa hưởng và bắt đầu bằng một môi trường trống. Bạn có thể thực hiện việc này bằng tùy chọn -i hoặc --ignore-environment.

Ví dụ:


env-no-env.png


Câu hỏi 4. Làm thế nào để env sử dụng NUL thay vì ký tự xuống dòng trong đầu ra?​

Trong ví dụ đầu tiên mà chúng ta đã thảo luận ở trên, các dòng đầu ra do env tạo ra được phân tách bằng ký tự xuống dòng. Tuy nhiên, nếu muốn, bạn có thể khiến env sử dụng ký tự NUL làm ký tự phân cách. Có thể truy cập tính năng này bằng tùy chọn dòng lệnh --null.
Mã:
env --null
Sau đây là một ảnh chụp màn hình mẫu;


env-no-newline.png


Câu hỏi 5. Làm thế nào để biết lỗi dựa trên trạng thái thoát lệnh env?​

Lệnh env tạo ra các mã thoát sau: 0, 125, 126 và 127. Sau đây là các mô tả lỗi liên quan:
Mã:
0 if no COMMAND is specified and the environment is output
125 if ‘env’ itself fails
126 if COMMAND is found but cannot be invoked
127 if COMMAND cannot be found
Nếu bạn nhận được mã lỗi khác với các mã được đề cập ở trên, thì đó là trạng thái thoát được trả về bởi quy trình/lệnh được thực thi với môi trường đã sửa đổi.

Kết luận​

Nếu bạn là người mới hoàn toàn sử dụng dòng lệnh, khả năng là bạn sẽ không cần đến công cụ này hàng ngày. Tuy nhiên, điều đó không có nghĩa là không đáng để biết về nó - trên thực tế, env thực sự hữu ích trong nhiều tình huống. Các ví dụ chúng tôi chia sẻ trong hướng dẫn này sẽ đủ để giúp bạn bắt đầu. Để biết thêm thông tin, hãy truy cập trang hướng dẫn của lệnh hoặc tốt hơn, hãy thực hiện lệnh sau:
Mã:
info coreutils env invocation
 
Back
Bên trên