小编Tom*_*dor的帖子

如何在linux bash中删除范围内的历史记录

在我的 Pi 上玩弄 Linux 并遇到了这个问题。我发现您可以使用命令删除某一行,history -d linenumber但是如果我想删除一个范围(我认为这更实用)怎么办?所以我查了一下如何在几个地方循环。两种循环方式都适用于回声,但不适用于历史命令。我认为这是因为“历史”实际上不是命令。但这有什么关系呢?有没有一种简单的方法可以做到这一点?我从来不知道在 Linux bash 中可以进行循环,所以现在我很好奇!这是我所做的:

pi@raspberry:~$ for ((i=258;i<=262;++i)); do "history -d $i"; done; // 由于引号不正确,给出: -bash: history -d 258: command not found -bash: history -d 259: command not found -bash: history -d 260: command not found -bash: history -d 261: command not found -bash: history -d 262: command not found

下面应该工作(但它没有):

pi@raspberry:~$ for i in {5..10}; do history -d $i; done; -bash: history: 5: history position out of range

我在这里找到了一篇文章:https : //superuser.com/questions/649859/history-position-out-of-range-when-calling-history-from-bash-script …

bash history loops for-loop

2
推荐指数
1
解决办法
2447
查看次数

标签 统计

bash ×1

for-loop ×1

history ×1

loops ×1