現在の端末で、前のコマンドから最後のコマンドまでエコーする関数を作成しようとしています。これは予想される出力です(ここではこれを目的の関数と呼びますf
)。
$ history 1
history 1
$ f
history 1
追加の質問:history(1)
現在の端末の記録はどこに保存されていますか?端末セッションが終了すると、記録は通常$HISTFILE
(私の場合~/.bash_history
)に保存されることがわかります。さて、history(1)
現在実行中の端末の履歴がどこにあるのか知りたいです。
答え1
解決策が見つかりました。
f()(echo $(history 2 | head -n1 | cut -d' ' -f2-))
fc
またはG-Manが提案したように使用してください。
f()(fc -ln -1)
テスト:
$ echo 123*
123*
$ f
echo 123*