echo $0
bash REPL에서 실행하면 bash 실행 파일의 이름만 반환되지만 zsh에서 실행하면 zsh 실행 파일에 대한 절대 경로가 반환되는 이유는 무엇입니까 ?
배쉬에서:
Davids-MacBook-Pro:~ david$ echo $0
-bash
zsh에서:
in ~
echo $0
/usr/local/bin/zsh
답변1
얻는 내용은 $0
쉘이 호출되는 방법에 따라 다릅니다. 처음부터 시작하면 bash
그것이다 bash
. 처음부터 시작하면 /bin/bash
그것이다 /bin/bash
. 같은 상기와 zsh
.
$ bash
$ echo $0
bash
$ exit
exit
$ /bin/bash
$ echo $0
/bin/bash
$ exit
exit
$ /bin/../bin/../bin/bash
$ echo $0
/bin/../bin/../bin/bash
$ exit
exit
$ zsh
$ echo $0
zsh
$ exit
$ /bin/zsh
$ echo $0
/bin/zsh
$ exit
$ /bin/../bin/../bin/zsh
$ echo $0
/bin/../bin/../bin/zsh
$ exit