Các lệnh Linux: env

Hướng dẫn nhanh vềenvlệnh, được sử dụng để chạy lệnh và tương tác với các biến môi trường

Cácenvlệnh có thể được sử dụng để chuyển các biến môi trường mà không cần thiết lập chúng trên môi trường bên ngoài (trình bao hiện tại).

Giả sử bạn muốn chạy ứng dụng Node.js và đặtUSERbiến đối với nó.

Bạn có thể chạy

env USER=flavio node app.js

USERbiến môi trường sẽ có thể truy cập được từ ứng dụng Node.js thông qua Nodeprocess.envgiao diện.

Bạn cũng có thể chạy lệnh xóa tất cả các biến môi trường đã được thiết lập, bằng cách sử dụng-iLựa chọn:

env -i node app.js

Trong trường hợp này, bạn sẽ gặp lỗi nóienv: node: No such file or directorybởi vìnodekhông thể truy cập được lệnh, vìPATHbiến được shell sử dụng để tra cứu các lệnh trong các đường dẫn chung không được đặt.

Vì vậy, bạn cần phải vượt qua toàn bộ đường dẫn đếnnodechương trình:

env -i /usr/local/bin/node app.js

Hãy thử với một đơn giảnapp.jstệp với nội dung này:

console.log(process.env.NAME)
console.log(process.env.PATH)

Bạn sẽ thấy đầu ra là

undefined
undefined

You can pass an env variable:

env -i NAME=flavio node app.js

and the output will be

flavio
undefined

Removing the -i option will make PATH available again inside the program:

The env command can also be used to print out all the environment variables, if ran with no options:

env

it will return a list of the environment variables set, for example:

HOME=/Users/flavio
LOGNAME=flavio
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin
PWD=/Users/flavio
SHELL=/usr/local/bin/fish

You can also make a variable inaccessible inside the program you run, using the -u option, for example this code removes the HOME variable from the command environment:

env -u HOME node app.js

The env command works on Linux, macOS, WSL, and anywhere you have a UNIX environment

Download my free Linux Commands Handbook


More cli tutorials: