# This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # test history file truncation for various values of $HISTFILESIZE . ./test-glue-functions : ${THIS_SH:=./bash} : ${TMPDIR:=/var/tmp} export HISTTIMEFORMAT= export HISTFILESIZE=3 export HISTFILE=$TMPDIR/hist-$$ export PS1='$ ' rm -f $HISTFILE # exactly the number of lines ${THIS_SH} --norc -in <<<$'1\n2\n3' wc -l < $HISTFILE | _cut_leading_spaces rm -f $HISTFILE # truncating to fewer lines ${THIS_SH} --norc -in <<<$'1\n2\n3\n4\n5' wc -l < $HISTFILE | _cut_leading_spaces rm -f $HISTFILE # the history file contains fewer lines than $HISTFILESIZE ${THIS_SH} --norc -in <<<$'1\n2' wc -l < $HISTFILE | _cut_leading_spaces rm -f $HISTFILE # now we try it without timestamps unset HISTTIMEFORMAT # exactly the number of lines ${THIS_SH} --norc -in <<<$'e 1\ne 2\ne 3' wc -l < $HISTFILE | _cut_leading_spaces cat $HISTFILE rm -f $HISTFILE # truncating to fewer lines ${THIS_SH} --norc -in <<<$'x 1\nx 2\nx 3\nx 4\nx 5' wc -l < $HISTFILE | _cut_leading_spaces cat $HISTFILE rm -f $HISTFILE # the history file contains fewer lines than $HISTFILESIZE ${THIS_SH} --norc -in <<<$'y 1\ny 2' wc -l < $HISTFILE | _cut_leading_spaces cat $HISTFILE rm -f $HISTFILE # we want to truncate the history file to zero length HISTFILESIZE=0 ${THIS_SH} --norc -in <<<$'1\n2' wc -l < $HISTFILE | _cut_leading_spaces rm -f $HISTFILE