Позвольте мне ответить на свой собственный острый вопрос, поскольку у меня есть справка от другого форума. Затем я сделал немного поиска с помощью Google И:
Я удалил startx из ~/.bashrc - как невход в систему sript. Вместо этого я записал в конец:
~/.bash_profile
...
startx
.bash_profile - nogin-сценарий, только выполняемый на входе в систему ОДНАЖДЫ.
Так, я предполагаю, эффект был похож на это: TTY NEXT, когда я запустил любой эмулятор терминала каждый раз.
Возвращаемое значение больше
отличается на OSX и Linux. Запустите это, чтобы посмотреть, какова возвращаемая величина на вашем вкусе Unix:
more file_that_doesnt_exist; echo $?
На OSX я получаю 1
на неудачу и 0
на успех.
На Ubuntu и RedHat Linux я получаю 0
на неудачу и 0
на успех. Казалось бы, это ошибка.
Другой альтернативой было бы использовать меньше
. Похоже, что в Ubuntu Linux возвращаются корректные коды выхода.
Еще одной альтернативой было бы использование:
{ cat file_that_doesnt_exist || echo nonexistent; } | more
Команда cat
возвращает ожидаемые коды выхода в Linux.