Os: debian8. Есть два пользователя: обычный и root.

touch /var/log/all.log
chmod  777  /var/log/all.log

Для нормальных.

vim  /home/normal/.bashrc
export HISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S:  `whoami` : "    
export PROMPT_COMMAND='history  > /var/log/all.log'

source /home/normal/.bashrc

Все команды истории для обычного (пользователь) запишут в /var/log/all.log.

Для рута так же.

vim  /root/.bashrc
export HISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S:  `whoami` : "    
export PROMPT_COMMAND='history  > /var/log/all.log'

source /root/.bashrc

Вся команда истории для root(пользователь) запишет в /var/log/all.log.

Теперь я хочу объединить два файла конфигурации в один файл.
Удалите две строки в /home/normal/.bashrc и /root/.bashrc.
1. Объедините их в /etc/profile .

vim  /etc/profile    
export HISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S:  `whoami` : "    
export PROMPT_COMMAND='history  > /var/log/all.log'    

source /etc/profile

Вся историческая информация для обычного не может быть записана в /var/log/all.log.
Вся информация истории для root может быть записана в /var/log/all.log.
2. Объедините их в /etc/bash.bashrc.

vim  /etc/bash.bashrc     
export HISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S:  `whoami` : "    
export PROMPT_COMMAND='history  > /var/log/all.log'

source /etc/bash.bashrc

Вся историческая информация для обычного не может быть записана в /var/log/all.log.
Вся информация истории для root может быть записана в /var/log/all.log.

Почему нельзя объединить два файла конфигурации -/home/normal/.bashrc и /root/.bashrc-- в один файл?

1 ответ1

1

То, что вы ищете, это $ HISTFILE, и вы получаете эту информацию от man bash:

HISTFILE ---- The name of the file in which command history is saved (see HISTORY below). The default value is ~/.bash_history. If unset, the command history is not saved when a shell exits.

Итак, установите $ HISTFILE на /var/log/all.log в вашем профиле, и это должно сделать это.

export HISTFILE=/var/log/all.log

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .