Der Name des ersten Anmeldevorgangs scheint festgelegt zu sein -bash
, aber wenn ich eine Subshell verwende, wird dies der Fall bash
. zum Beispiel:
root@nowere:~# echo $0
-bash
root@nowere:~# bash
root@nowere:~# echo $0
bash
-bash
führt dazu, dass einige Skripte fehlschlagen, z . /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
Kennt jemand den Grund warum eingestellt $0
ist -bash
?
command-line
bash
scripts
debconf
James Shimer
quelle
quelle
Antworten:
Wenn die Ausgabe des
echo $0
Befehls lautet-bash
, bedeutet dies, dass erbash
als Anmeldeshell aufgerufen wurde.man bash
sagt irgendwo in Zeile 126:Weitere Informationen finden Sie hier: Unterschied zwischen Login-Shell und Nicht-Login-Shell .
Ihre Shell ist also immer noch
/bin/bash
(dies kann mit demecho $SHELL
Befehl überprüft werden ) und ich empfehle Ihnen, diesen Befehl zu verwenden, der Ihnen wie gewohnt Fehler gibt:quelle