Uinx/Linux: Shebang과 env에 대한 설명 (#!/usr/bin/env)

Uinx/Linux: Shebang과 env에 대한 설명 (#!/usr/bin/env)
유닉스 계열의 Command Line에서 실행시키는 스크립트를 확인해보면 첫 줄에 " #! " 시작하는 코드가 있습니다. 영어로 "Shebang"이라고 하는데 한글로는 "쉬뱅"으로 전 읽는데 편하신데로 읽으시면 될거 같습니다. (표준이된 한글 명칭이 있는지 모르겠네요.) 어원은 " Wikipedia: Shebang (Unix) "페이지에 잘 나와있는데 유닉스 계열에서는 sharp(#) + bang(!) 합성어로 sha-bang 이라 합니다. " #! "은 2Byte의 매직넘버(magic number)로 이 스크립트를 실행시켜줄 프로그램의 경로를 지정하는 역활입니다. (예시 1) #!/bin/bash #!/usr/bin/python #!/usr/bin/perl #!/usr/bin/php 그런데 프로그램의 경로는 시스템 환경에 따라 달라질 수 있습니다. 그때 사용하는 것이 " env " 입니다. " #!/usr/bin/env + 언어 " 식으로 입력하는 방법이 있습니다. (예시 2) #!/usr/bin/env bash #!/usr/bin/env python #!/usr/bin/env perl #!/usr/bin/env php "(예시 1)"과 같이 절대 경로를 입력하거나 "(예시 2)" 처럼 입력해도 동일하게 실행됩니다. env 는 환경 변수에서 지정한 언어의 위치를 찾아서 실행됩니다. 다양한 환경에서 실행되는 스크립트라면 " env "를 사용하는 것이 좋습니다. env 명령어 보충 설명 옵션 설명 - , -i , --ignore-environment 현재 환경을 무시하고 지정한 값을 사용 -u , --unset=NAME 지정한 변수 제거 --help 도움말 표시 --version 버전 정보 표시 (예시 3) # 환경 변수 정보 출력 env # 환경 변수 정보 변경 env -i HOSTNAME=test.com # 환경 변수 정보 변경 e…

댓글 쓰기