bash не получит исходные файлы с терминала входа в систему, если я не запустил bash вручную с терминала, у меня есть bash (а не sh или dash) Когда я создаю исходный файл, он возвращает ошибки (например, "синтаксическая ошибка почти неожиданная"), если я не запускаю $ bash перед исходным кодом
$echo $TERM
screen-256color
$echo $SHELL
/bin/bash
$shopt login_shell
login_shell on
Ошибка:
$source ./shrc
-bash: ./shrc: line 105: syntax error near unexpected token `('
$bash
$source ./shrc <-- now it works
Есть идеи?
ОБНОВЛЕНИЕ 1
Когда я запускаю bash, я захожу в оболочку non_login, и она работает. Почему оболочка входа не может получить исходный файл?
ОБНОВЛЕНИЕ 2
$echo $0
-bash
$bash
$echo $0
bash
ОБНОВЛЕНИЕ 3
else
echo;
echo "The SPEC environment variable is not set! Please source the shrc and try again."
echo;
fi
}
ogo() { <----- LINE 105
SHRC_NO_GO=0
TOP=$SPEC
if [ "x$TOP" != "x" ]; then
if [ "x$1" = "x--help" -o "x$1" = "x-h" ]; then
Это файл из тестов SPEC2006 (это хорошо известная программа, это не мой код). Я предполагаю, что это правильно. (на самом деле, на не-логине, это работает)