All,
I generally create a system-wide /etc/bash.bashrc.local file to contain
history defaults. E.g.:
$ cat /etc/bash.bashrc.local
HISTCONTROL=ignoreboth:erasedups
HISTIGNORE='[ ]*:&:?'
(HISTSIZE & HISTFILESIZE are exported on a per-user basis in ~/.bashrc) I
then just add a line to source it in /etc/bash.bashrc:
$ cat /etc/bash.bashrc
#
# /etc/bash.bashrc
#
<snip>
# - source /etc/bash.bashrc.local
[ -r /etc/bash.bashrc.local ] && . /etc/bash.bashrc.local
Both files are present and readable:
$ ls -l /etc/bash.bashrc*
-rw-r--r-- 1 root root 697 Apr 6 20:01 /etc/bash.bashrc
-rw-r--r-- 1 root root 418 Mar 10 09:40 /etc/bash.bashrc.local
I do this the same way on both Arch and SuSE. Chasing a bash bug on SuSE, I
would check the the environment with:
$ env | grep HIST
HISTSIZE=20000
HISTFILESIZE=20000
HISTIGNORE= *:&:?:??
HISTCONTROL=ignoreboth:erasedups
Doing a pacman update earlier to day, I just checked the environment on Arch
on a whim:
$ env | grep HIST
HISTSIZE=5000
HISTFILESIZE=15000
Huh? Where is HISTIGNORE and HISTCONTROL? Is there something unique to Arch
that prevents sourcing or prevents setting HISTXXX in this manner. I can't think
of anything offhand that would prevent it, but it certainly isn't being set. Any
ideas on why?
--
David C. Rankin, J.D.,P.E.