在htop或其他显示进程状态的命令中,所有bash进程都在命令列中
/bin/bash
但是命令列中有一个进程
-bash
这是什么意思?
命令名称前的减号是登录程序用来启动登录Shell的约定。一个登录程序是一个程序,你通常键入密码,并为你启动一个会话,比如login
,sudo -i
,su -
,sshd的,等等登录shell文本模式会话初始外壳。
按照惯例,当一个程序调用另一个程序时,它将程序的名称作为参数0传递;命令行参数的编号从1开始。例如,当您运行时cp foo bar
,它将执行位于/bin/cp
(在典型系统上)的可执行文件,并cp
作为参数0,foo
作为参数1和bar
作为参数2传递。通常的约定是使用可执行文件的基本名称作为参数0。登录程序调用shell时,它违反了此约定,并在程序名称前添加了一个额外的连字符。壳适当地了解该替换惯例和一套东西开登录shell,通常读取初始化文件如~/.profile
,~/.login
,~/.bash_profile
等,这取决于外壳。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句