Le premier nom du processus de connexion semble être défini sur -bash
, mais si je sous-coquille, il devient bash
. par exemple:
root@nowere:~# echo $0
-bash
root@nowere:~# bash
root@nowere:~# echo $0
bash
-bash
entraîne l'échec de certains scripts, tels que . /usr/share/debconf/confmodule
exec /usr/share/debconf/frontend -bash
Can't exec "-bash": No such file or directory at /usr/share/perl/5.14/IPC/Open3.pm line 186.
open2: exec of -bash failed at /usr/share/perl5/Debconf/ConfModule.pm line 59
Quelqu'un sait-il pourquoi il $0
est réglé sur -bash
?
command-line
bash
scripts
debconf
James Shimer
la source
la source
Réponses:
Si la sortie de la
echo $0
commande est,-bash
cela signifie qu'elle abash
été invoquée en tant que shell de connexion.man bash
dit quelque part à la ligne 126:En savoir plus ici: Différence entre le shell de connexion et le shell sans connexion .
Donc, votre shell est toujours
/bin/bash
(cela peut être vérifié avec laecho $SHELL
commande) et je vous suggère d'utiliser cette commande qui vous donne normalement une erreur:la source