为什么不能将两个配置文件 --/home/normal/.bashrc 和 /root/.bashrc-- 合并为一个文件?

为什么不能将两个配置文件 --/home/normal/.bashrc 和 /root/.bashrc-- 合并为一个文件?

操作系统: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。

对于 root 来说方法相同。

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

normal 的所有历史信息不能写入 /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

normal 的所有历史信息不能写入 /var/log/all.log。root
的所有历史信息都可以写入 /var/log/all.log。

为什么不能将两个配置文件 --/home/normal/.bashrc 和 /root/.bashrc-- 合并为一个文件?

答案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

相关内容