当不小心将文件粘贴到外壳中时,它会在bash历史记录中放置大量丑陋的废话条目。是否有清除这些条目的干净方法?显然,我可以关闭外壳并.bash_history
手动编辑文件,但是也许可以使用某种API来修改当前外壳的历史记录?
从开始bash-5.0-alpha
,该history
命令现在为delete(-d
)选项指定了一个范围。请参阅rastafile的答案。
对于较旧的版本,请采用以下解决方法。
您可以使用history -d offset
内建函数从当前shell的历史记录中删除特定行,或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
用于强制写入历史记录文件。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句