다음 Bash 스크립트가 주어지면(이라고 부르겠습니다 foo.sh
):
#!/usr/bin/env bash
cat <<EOF
\$0: $0
\$BASH_SOURCE: ${BASH_SOURCE[0]}
EOF
그런 다음 별칭을 만듭니다.
$ alias bar='./foo.sh'
실행되면 bar
출력은 다음과 같습니다.
$ bar
$0: ./foo.sh
$BASH_SOURCE: ./foo.sh
변수가 있는지 또는 (스크립트 자체에서) 얻을 수 있는 다른 방법이 있는지 알고 싶습니다.명령/별명스크립트 호출용 - 이 경우 bar
원하는 출력은 다음과 같습니다.
$ bar
$0: ./foo.sh
$BASH_SOURCE: ./foo.sh
$SOME_MAGIC_VARIABLE: bar
내가 이것을 원하는 이유는 동일한 스크립트 파일에서 코드/함수를 공유할 수 있지만 상황에 따라 다르게 실행할 수 있기 때문입니다.어떻게명령이 호출되었습니다. where uptime
와 w
are 는 동일한 바이너리이지만 호출되는 항목에 따라 다른 기능을 수행합니다.