コマンドは以下の通りです。
511 clear
512 history
513 history -d 505
514 history
515 history -d 507 510 513
516 history
517 history -d 509
518 history
519 history -d 511
520 history
history -d 511`で1つのコマンドを削除することはできますが、シェルで1つのコマンドを使って、最後の10個のコマンドとその間のコマンドの履歴を削除するにはどうしたらよいでしょうか?
bashスクリプトを書いて、履歴削除のために実行することはできますか?
ヒストリーファイルを直接編集してみましたか?
~/.bash_history
中括弧付きのイテレータを変更、いい感じ。また、この関数を逆イテレータで呼び出す。
おそらくこんな感じでできると思います。
#!/bin/bash
HISTFILE=~/.bash_history # if you are running it in a
# non interactive shell history would not work else
set -o history
for i in `seq $1 $2`;
do
history -d $i
done
history -w
このように喚起するところ。
./nameOfYourScript 563 514
境界線のエラーチェックをしていないことに注意してください。これは読者の練習問題としておいてください。
この質問]1も参照してください。