bash 命令名称以“-”(减号)开头

sep*_*332 6 unix shell login

如果我从登录 shell 运行此命令:

$ echo $0
Run Code Online (Sandbox Code Playgroud)

它返回:

-bash
Run Code Online (Sandbox Code Playgroud)

为什么登录shell前面有一个减号?如果我再次运行 bash,那么 $0 就是“bash”。

小智 4

该名称-bash意味着它bash是作为登录shell 调用的。该名称bash意味着它是作为非登录shell 调用的。查看登录 Shell 和非登录 Shell 之间的区别?了解更多信息。