Просто держись подальше от пляжа Куты, прокат мотобайк и ездить вокруг острова и Бали может быть чертовски приключение без пьяных западники (я не хочу обвинять австралийцев) и раздражает местных жителей Можно еще попробовать `я` вместо `Я`? @Томас, мне кажется, что `Эхо &> /dev/нуль | кошка` эквивалентно `Эхо 2> /Дев/нуль | кошка` (потому что мы не заботимся о `а` отправляется в `/dev/нуль` в любом случае, верно?) так почему бы не использовать это вместо этого Я посмотрел на другие скрипты инициализации, они используют `старт-стоп-демона`. Внимательно обратите внимание на опцию `--пользователь не сменить пользователя. Вы нужны--chuid для смены пользователя.

Когда вы вводите выходе, снаряд ушел сразу же, 1 не оценивается. Если вы просмотрите исходный код для выхода, вы можете увидеть:

инт
exit_builtin (список)
 WORD_LIST *список;
{
 если (интерактивные)
{
 fprintf (stderr, в, login_shell ? _("выход\Н") : "выход\Н");
 функцию fflush (поток stderr);
}

 возвращение (exit_or_logout (список));
}

Последнее, что выхода нет: возвращение (exit_or_logout (список))

статические инт
exit_or_logout (список)
 WORD_LIST *список;
{
 инт exit_value;

..............

 /* Получить возвращаемое значение, если она присутствует. Это означает, что вы можете ввести
 `выход 5' к оболочке, и он возвращает 5. */

 /* Если мы бежим к выходу ловушка (running_trap == 1, так как running_trap
 получает значение сиг+1), и у нас нет аргументом "выход"
 (список == 0), использовать состояние выхода мы спасли перед запуском ловушку
 команды (trap_saved_exit_value). */
 exit_value = (running_trap == 1 && Список == 0) ? trap_saved_exit_value : get_exitstat (список);

 bash_logout по ();

 last_command_exit_value = exit_value;

 /* Выход из программы. */
 jump_to_top_level (EXITPROG);
/*NOTREACHED*/
}

Синтаксис ошибка в выходе &&&&&&& 1 из-за разбора ошибок, а не результатом вычисления выражения. Парсинг происходит перед любой командой Run.