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.