Задать вопрос
gremlintv2
@gremlintv2

Как работает история комманд в bash?

Есть несколько подвопросов:
1)как записываются введенные команды в bash в историю команд (.bash_history)?(интересует алгоритм записи)
2)можно ли введенные команды писать в 2 файла?(как настроить для этого bashrc)
3)можно ли после введения команды отправлять ее текст (не результат выполнения, а саму команду) через скрипт на email?
  • Вопрос задан
  • 707 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
1) при выходе, баш просто пишет все выполняемые команды в $HISTFILE файл (по умолчанию это ~/.bash_history.
До выхода история хранится в памяти, и параметры HISTSIZE и HISTFILESIZE могут быть разными.

Можно сбросить текущую историю из памяти в файл командой history -a

2), 3). вы можете попробовать добавить нужные команды в prompt, тогда при выполнении любой команды будет выполняться блок ваших команд. Но это несколько костыльное решение. Например добавить history -a в PROMPT_COMMAND, чтобы хистфайл обновлялся после каждой команды. можно добавить туда и вывод history 1 с перенаправлением в скрипт, который отправляет почту, но это вызовет задержку на выполнение каждой команды. лучше из отдельной сессии следить за этим файлом.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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