Сначала имя процесса входа в систему, кажется, определяется к -bash
, но если я подокружаю затем, это становится bash
. например:
root@nowere:~# echo $0
-bash
root@nowere:~# bash
root@nowere:~# echo $0
bash
-bash
заставляет некоторые сценарии перестать работать, такой как . /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
Любой знает причину почему $0
установлен на -bash
?
Если вывод echo $0
команда -bash
это означает это bash
был вызван как оболочка входа в систему. man bash
говорит где-нибудь в строке 126:
A login shell is one whose first character of argument zero is a -, or one started with the --login option.
Посмотрите больше о здесь: Различие между Входом в систему Shell и Невходом в систему Shell.
Таким образом, Ваша оболочка тиха /bin/bash
(с этим можно свериться echo $SHELL
команда) и я предлагаю, чтобы Вы использовали ту команду, которые дают Вам ошибку как обычно:
exec /usr/share/debconf/frontend bash