명령을 실행하고 환경 변수와 상호 작용하는 데 사용되는 ʻenv` 명령에 대한 빠른 가이드
https://flaviocopes.com/linux-command-env/
env 명령을 사용하여 외부 환경 (현재 셸)에서 설정하지 않고 환경 변수를 전달할 수 있습니다.
Node.js 앱을 실행하고 여기에 USER 변수를 설정한다고 가정합니다.
당신은 실행할 수 있습니다
env USER=flavio node app.js
USER 환경 변수는 Node process.env 인터페이스를 통해 Node.js 앱에서 액세스 할 수 있습니다.
-i 옵션을 사용하여 이미 설정된 모든 환경 변수를 지우는 명령을 실행할 수도 있습니다.
env -i node app.js
이 경우, 공통 경로에서 명령을 조회하기 위해 쉘이 사용하는 PATH 변수가 설정되지 않았기 때문에 노드 명령에 도달 할 수 없기 때문에 해당 파일 또는 디렉토리가 없음이라는 오류가 발생합니다.
따라서 노드 프로그램의 전체 경로를 전달해야 합니다.
env -i /usr/local/bin/node app.js
다음 내용으로 간단한 app.js 파일을 사용해보십시오.
console.log(process.env.NAME)
console.log(process.env.PATH)
출력
undefined
undefined
env 변수를 전달할 수 있습니다.
env -i NAME=flavio node app.js
출력
flavio
undefined
-i 옵션을 제거하면 프로그램 내에서 PATH를 다시 사용할 수 있습니다.
옵션 없이 실행 한 경우 env 명령을 사용하여 모든 환경 변수를 인쇄 할 수도 있습니다.
env
예를 들어 다음과 같이 환경 변수 세트 목록을 반환합니다.
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
-u 옵션을 사용하여 실행하는 프로그램 내에서 변수에 액세스 할 수 없도록 만들 수도 있습니다. 예를 들어 이 코드는 명령 환경에서 HOME 변수를 제거합니다.
env -u HOME node app.js
env 명령은 Linux, macOS, WSL 및 UNIX 환경이 있는 모든 곳에서 작동합니다.
등록된 댓글이 없습니다.