Ce n'est pas spécifique à htop, c'est spécifique à bash. Cela signifie que c'est un shell de connexion.
jordanm
3
@jordanm Non spécifique à l'un bashou l'autre, les autres obus font de même.
lcd047
Réponses:
30
Un signe moins devant le nom de la commande est une convention que les programmes de connexion utilisent pour démarrer les shells de connexion. Un programme de connexion est un programme où vous tapez votre mot de passe en général et qui démarre une session pour vous, comme login, sudo -i, su -, sshd, etc. Une coquille connexion est le shell initial d'une session en mode texte.
Classiquement, lorsqu'un programme appelle un autre programme, il passe le nom du programme comme argument 0; Les arguments de ligne de commande sont numérotés à partir de 1. Par exemple, lorsque vous exécutez cp foo bar, cela exécute le fichier exécutable situé sur /bin/cp(sur les systèmes typiques) et passe cpcomme argument 0, foocomme argument 1 et barcomme argument 2. La convention normale consiste à utiliser le nom de base de l'exécutable comme argument 0. Lorsqu'un programme de connexion invoque un shell, il viole cette convention et place un tiret supplémentaire avant le nom du programme. Coquilles comprennent cette convention de remplacement et configuré les choses de manière appropriée pour un shell de connexion, typiquement la lecture d' un fichier d'initialisation tel que ~/.profile, ~/.login, ~/.bash_profile, etc. en fonction de la coquille.
htop
, c'est spécifique àbash
. Cela signifie que c'est un shell de connexion.bash
ou l'autre, les autres obus font de même.Réponses:
Un signe moins devant le nom de la commande est une convention que les programmes de connexion utilisent pour démarrer les shells de connexion. Un programme de connexion est un programme où vous tapez votre mot de passe en général et qui démarre une session pour vous, comme
login
,sudo -i
,su -
, sshd, etc. Une coquille connexion est le shell initial d'une session en mode texte.Classiquement, lorsqu'un programme appelle un autre programme, il passe le nom du programme comme argument 0; Les arguments de ligne de commande sont numérotés à partir de 1. Par exemple, lorsque vous exécutez
cp foo bar
, cela exécute le fichier exécutable situé sur/bin/cp
(sur les systèmes typiques) et passecp
comme argument 0,foo
comme argument 1 etbar
comme argument 2. La convention normale consiste à utiliser le nom de base de l'exécutable comme argument 0. Lorsqu'un programme de connexion invoque un shell, il viole cette convention et place un tiret supplémentaire avant le nom du programme. Coquilles comprennent cette convention de remplacement et configuré les choses de manière appropriée pour un shell de connexion, typiquement la lecture d' un fichier d'initialisation tel que~/.profile
,~/.login
,~/.bash_profile
, etc. en fonction de la coquille.Voir aussi Différence entre le shell de connexion et le shell sans connexion?
la source