假设我帐户的默认 shell 是 zsh,但我打开了终端并启动了 bash 并执行了一个名为 的脚本prac002.sh
,哪个 shell 解释器将用于执行脚本,zsh 还是 bash?考虑以下示例:
papagolf@Sierra ~/My Files/My Programs/Learning/Shell % sudo cat /etc/passwd | grep papagolf
[sudo] password for papagolf:
papagolf:x:1000:1001:Rex,,,:/home/papagolf:/usr/bin/zsh
# papagolf's default shell is zsh
papagolf@Sierra ~/My Files/My Programs/Learning/Shell % bash
# I fired up bash. (See that '%' prompt in zsh changes to '$' prompt, indicating bash.)
papagolf@Sierra:~/My Files/My Programs/Learning/Shell$ ./prac002.sh
Enter username : Rex
Rex
# Which interpreter did it just use?
Run Code Online (Sandbox Code Playgroud)
**编辑:** 这是脚本的内容
papagolf@Sierra ~/My Files/My Programs/Learning/Shell …
Run Code Online (Sandbox Code Playgroud)