当我以身份登录root
并输入一些随机不存在的命令时,它说:
root@localhost:~# asdf
-bash: asdf: command not found
root@localhost:~#
Run Code Online (Sandbox Code Playgroud)
但是当我和用户做同样的事情时,rakinar2
它说:
rakinar2@localhost:~$ asdf
bash: asdf: command not found
rakinar2@localhost:~$
Run Code Online (Sandbox Code Playgroud)
现在 -bash 和 bash 之间有什么区别?
Bash 以破折号-
作为命令名称的第一个字符(参数 #0)作为登录 shell 开始。(给定-l
/--login
开关的 shell 也是如此。)这会影响它读取的启动文件。
请参阅:手册中的6.1 调用 Bash和6.2 Bash 启动文件。