私は皆を救うのが大好き歴史Bashには一種のログファイルとして保存され、これには追加のディレクトリ〜/lib/hists/が作成されました。
シェルからこれらのログファイルを作成するのは簡単です。
history -w /home/stefan/lib/hists/bash-hist-$(date +%F_%T_%N)
閉じると、すべての閉じたxtermがログファイルに書き込まれるため、競合を避けるためにファイル名にナノ秒が含まれます。
だから私はその命令を~/.bash_logout
残念ながら、xtermを閉じても、そのようなログファイルは生成されません。おそらく窓を閉めたからではないかと思いました。したがって、bashでbashを起動します。
bash
ls
exit
しかし、再び歴史的な記録はありません。
ほとんどの場合、4〜6個の端末が開いていますが、私が知らない履歴ファイルしかありません。どのコマンドがそこにあるのか - 最初のオープンシェルから始めて、最後の閉じたシェルから始めますか?操作中に履歴は干渉しないため、1つのシェルインスタンスにのみバインドされているようです。
私が興味を持っているのは、私のアプローチが失敗した理由とは非常に異なるアプローチを含む、これを解決した方法の説明です。
答え1
.bash_logout
Bashは、シェルがログインシェルの場合にのみコマンドを実行します。
# .bash_logout will print "hi"
$ cat .bash_logout
echo hi
# Start a new shell that is not a login shell
$ bash
$ shopt login_shell
login_shell off
# On exit, it will not print "hi"
$ exit
exit
# Start a login shell
$ bash -l
$ shopt login_shell
login_shell on
# On exit it will execute .bash_logout, and will print "hi"
$ exit
logout
hi
バラよりsuperuser.comの答え解決したい問題の詳細と代替ソリューションをご覧ください。