env 는 현재 환경 변수를 표시하거나 환경 변수를 변경한 후에 프로그램을 실행하는 유틸리티입니다.


변수 출력

옵션없이 실행하면 현재 환경 변수를 출력합니다.

$ env

EDITOR=vim
GPG_TTY=/dev/pts/0
NVM_CD_FLAGS=
BASH


프로그램 실행

env 뒤에 프로그램 이름을 주면 해당 프로그램을 실행합니다. 

$ env ls
BASH

env 로 프로그램을 실행하는 것은 스크립트를 작성할 경우 쉬뱅(shebang#!) 뒤에 실행할 프로그램을 찾는 용도로 많이 사용합니다.

#!/usr/bin/env python3
BASH


환경 변수

-i 옵션을 주면 환경 변수를 모두 지운후에 프로그램을 실행합니다. 환경 변수를 참고하지 않는 cron 실행 작업을 테스트할 때 유용합니다.

$ env -i ls
BASH


-u 옵션을 주면 지정한 환경 변수를 지운 후에 프로그램을 실행합니다. 다음은 동적 라이브러리를 찾는 변수인 LD_LIBRARY_PATH 를 지우고 프로그램을 실행합니다.

$ env -u LD_LIBRARY_PATH ls
BASH


특정 변수를 설정하고 실행할 경우 VAR=VALUE 형식으로 지정하면 됩니다. 다음은 LD_LIBRARY_PATH 에 /opt/openssl/lib 을 추가하고 openssl 프로그램을 실행합니다.

$ env LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/openssl/lib openssl
BASH


같이 보기