Executing the following code in GNU bash, Version 4.2.45(1)-release (x86_64-redhat-linux-gnu), Fedora 19 ...
shopt -s extglob export HISTIGNORE="!(+(!([[\:space\:]]))+([[\:space\:]])+(!([[\:space\:]])))" declare -p HISTIGNORE
... brings bash to a full stop. It does not print a command prompt hereafter. Why is that.
All I want to tell bash is to ignore any simple, i.e. one word command. Bash should not remember command lines like
history, etc. My original definition of the
HISTIGNORE variable looked like this:
I added a
\ backslash character before each
: colon character because according to the
bash info pages the latter separates each (extended) shell glob, i.e. pattern from another. Without escaping the single pattern does not have any effect and a simple command still makes it into history.