bash переопределяет историю, даже если для параметра histappend установлено значение on

Для выключения ВМ в ВМ можно использовать cron :Я не уверен, почему это может быть плохо, если предположить, что вы хотите это делать ежедневно.

Однако, чтобы ответить на ваш вопрос, вы можете в качестве альтернативы создать службу systemd для завершения работы -h (см.https://www.linux.com/blog/learn/intro-to-linux/2018/5/writing-systemd-services-fun-and-profit)

Теперь для запуска я бы определенно использовал cron с virsh.

0
18.06.2020, 02:46
1 ответ

Вы не видите, что хранится в файле. Для этого вам нужно что-то вроде:

tail -n 6 "$HISTFILE"

Будет напечатано 6 строк, соответствующих 3 командным строкам, хранящимся в файле.

$ export HISTTIMEFORMAT='%a %h %d | %T | 1 |'; shopt -s histappend; echo 1; history 3
   1
   15891  Wed Jun 17 | 20:18:27 | 1 |export HISTTIMEFORMAT='%a %h %d | %T | 1 |'; shopt -s histappend; echo 1; history 5
   15892  Wed Jun 17 | 20:18:41 | 1 |export HISTTIMEFORMAT='%a %h %d | %T | 1 |'; shopt -s histappend; echo 1; history 6
   15893  Wed Jun 17 | 20:18:44 | 1 |export HISTTIMEFORMAT='%a %h %d | %T | 1 |'; shopt -s histappend; echo 1; history 3

$ tail -n 6 "$HISTFILE"
   #1592439521
   export HISTTIMEFORMAT='%a %h %d | %T | 1 |'; shopt -s histappend; echo 1; history 6
   #1592439524
   export HISTTIMEFORMAT='%a %h %d | %T | 1 |'; shopt -s histappend; echo 1; history 3
   #1592439630
   tail -n 6 "$HISTFILE"

Предполагается, что файл истории обновляется при каждой выполненной команде.

Обратите внимание, что между каждой сохраненной командой есть строка комментария.
Эта строка комментария фактически хранит эпоху Unix в секундах при выполнении каждой команды. Это значение, например :1592439630, преобразуется в формат, заданный через TIMEFORMAT. Это одно простое число, которое преобразуется в другой формат. Когда вы меняете формат, одно и то же число преобразуется в другой формат. Поэтому невозможно преобразовать одни числа в один формат, а другие — в какой-то другой.

То, что histappendустановлено или не установлено, влияет на что-то совсем другое, а не на формат печатаемых значений.Каждая команда (без какого-либо формата )добавляется к файлу истории, но только при выходе из оболочки или выполнении команды history -w. Короче говоря, только если в файл истории записывается.

1
18.03.2021, 23:26

Теги

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