-bash是什么意思?

特宾

echo $0在tty1中键入命令,它返回了-bash,为什么不bash呢?

muru

它表明它bash是作为登录Shell启动的。man bash,部分INVOCATION(重点是我的):

A login shell is one whose first character of argument zero is a -,  or
one started with the --login option.
...
When bash is invoked as an interactive login shell, or as a  non-inter‐
active  shell with the --login option, it first reads and executes com‐
mands from the file /etc/profile, if that file exists.   After  reading
that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile,
in that order, and reads and executes commands from the first one  that
exists  and  is  readable.  The --noprofile option may be used when the
shell is started to inhibit this behavior.

When a login shell exits, bash reads and  executes  commands  from   the
file ~/.bash_logout, if it exists.

$0,当然是参数零。

在Ubuntu中,通常.profile存在.bash_profile并且.bash_login存在因此,登录外壳读取.profile


也可以看看:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章