команда trap не найдена

Причина наличия истории всех мест, где bash имеет историю (и записывает в нее ), заключается в том, что вы пишете в файл (history -a )и все остальные bash оболочки также записывают в один и тот же файл.

Затем вы читаете все команды из файла (history -r )в память.

В качестве решения можно записать (новые )команды в файл (history -a ), но не читать полученный файл. Список команд в памяти будет принадлежать каждому запущенному экземпляру bash. У каждого экземпляра bash будет свой список команд. Все команды будут записаны в файл истории.

Используйте (в bashrc или аналогичный):

PROMPT_COMMAND="history -a; $PROMPT_COMMAND"
-1
11.08.2019, 09:54
1 ответ

Есть 2 вопроса. Ошибка в случае 2 связана с тем, что в системе нет команды SIGINT. В ОП было

trap "SIGINT in inner, do graceful shutdown" SIGINT

но, вероятно, нужная команда была

trap "echo SIGINT in inner, do graceful shutdown" SIGINT

Другой вопрос заключается в том, почему вызывается функция перехвата внутренних скриптов, хотя это не так. Процесс сна убит, скрипт переходит на следующую строку.

3
28.01.2020, 05:08

Теги

Похожие вопросы