Ви можете використовувати history -d offset
вбудований файл, щоб видалити певний рядок із поточної історії оболонки або history -c
очистити всю історію.
Це не дуже практично, якщо ви хочете видалити діапазон рядків, оскільки він бере лише один зсув як аргумент, але ви можете його зафіксувати у функції з циклом.
rmhist() {
start=$1
end=$2
count=$(( end - start ))
while [ $count -ge 0 ] ; do
history -d $start
((count--))
done
}
Телефонуйте за допомогою rmhist first_line_to_delete last_line_to_delete
. (Номери рядків відповідно до виходу history
.)
(Використовуйте history -w
для примусового запису в файл історії.)
tot_lines=$(history | wc -l)
і потім повторитиhistory -d $(( tot_lines - $1 ))
.