/ etc / profile和bash init文件之间有区别吗?

时间:2014-02-20 18:22:59

标签: bash shell

我正在尝试将我的bash历史记录大小从1000个命令扩展到10000个命令。

我正在尝试按照this tutorial将我的bash历史记录从1000个命令扩展到10000.在第一段中,它说要将以下三行附加到我的'bash init'。

export HISTCONTROL=erasedups
export HISTSIZE=10000
shopt -s histappend

Google引导我访问bash beginner guide而我无法阅读,因为Bash不是我的第一语言。我认为下面的摘录回答了我的问题,但我不确定。

  

当使用--login选项以交互方式调用或以sh身份调用时,Bash会读取/ etc / profile指令。这些通常设置shell变量PATH,USER,MAIL,HOSTNAME和HISTSIZE。

我的问题:

  1. 当我假设/ etc / profile与bash初始化相同时,我是否正确阅读?
  2. 如何测试这是否有效? / etc / profile目前看起来像这样:

    export HISTSIZE=10000 
    shopt -s histappend
    
    # System-wide .profile for sh(1)
    
    
    if [ -x /usr/libexec/path_helper ]; then
       eval `/usr/libexec/path_helper -s`
    fi
    
    if [ "${BASH-no}" != "no" ]; then
       [ -r /etc/bashrc ] && . /etc/bashrc
    fi
    
  3. 更新:将这些命令放在bashrc中似乎没有做任何事情,但是在this add timestamps to bash history教程之后,我将命令放在/ etc / bashrc中。我的历史现在有时间戳。是否可以安全地假设.bash_history现在也可以保存100000个命令?

1 个答案:

答案 0 :(得分:0)

Bash可能会读取几个不同的文件。由于这些bash具体选项不适用于sh,因此您应将其放在~/.bashrc中并确保source ~/.bashrc中有一行~/.bash_profile

您可以通过打开新终端并运行echo $HISTCONTROLshopt histappend来检查它是否具有预期值(“erasedups”和“on”)。