Первое имя процесса входа в систему, кажется, установлен в -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
?
command-line
bash
scripts
debconf
Джеймс Шимер
источник
источник
Ответы:
Если вывод
echo $0
команды --bash
это означает, что онbash
был вызван как оболочка входа в систему.man bash
говорит где-то в строке 126:Подробнее об этом здесь: Разница между Оболочкой входа в систему и Оболочкой без регистрации .
Таким образом, ваша оболочка все еще
/bin/bash
(это можно проверить с помощьюecho $SHELL
команды), и я предлагаю вам использовать эту команду, которая выдает ошибку, как обычно:источник