そして

そして

最後のbashコマンドとそのタイムスタンプを印刷したいです。history 1履歴コマンド自体を表示します。この機能は多くのコンピュータで使用する必要があるため、カスタム設定に依存してはいけません。たとえば、これを行うためのいくつかの簡単なコマンドが間違いなくありませんlastcmd。 :)

fc -l -1タイムスタンプなしで最後のコマンドを表示し、複雑すぎて頻繁に入力できません。

明らかに、多くのサーバーで使用する必要があり、すべてのサーバーをカスタマイズしたりカスタム機能を作成したりすることは不可能であるため、これを行うための標準的で簡単な方法を探しています。さらに、このコマンドを手動で入力する必要があるため、非常に簡単です。

アクセスする必要があるサーバーのデフォルト値はHISTControl = ignorebothのようです。

 history 1 

(記録コマンドの前にスペースが付いている)は履歴に入れないため、最後のコマンドが正しく表示されます。

HISTTIMEFORMATしかし、デフォルトでは設定されていないので、完全な解決策ではありません。より簡単な方法がありますか?

ベストアンサー1

指摘したように、コマンド自体が実行する最後のコマンドなので、コマンド自体をhistory 1印刷してください。history前の項目を取得するには、次のものが必要ですhistory 2

$ touch foo
$ history 2
$ history 2
19950  touch foo
19951  history 2

したがって、自己計算なしで前のコマンドを取得するには、次のコマンドhistoryを渡しますhead -n1

$ history 2 | head -n1
19952  touch foo

次に、目的の形式でタイムスタンプを追加します(man 3 strftime利用可能な形式を参照)。

$ HISTTIMEFORMAT="%F %H:%M:%S " history 2 | head -n1
19959  2016-06-11 15:06:08 touch foo

%T(代わりに使用することもできます%H:%M:%S

おすすめ記事