履歴をログに記録しながら UNIX タイムスタンプを取得する

履歴をログに記録しながら UNIX タイムスタンプを取得する

履歴をファイルに保存する以下の bash スクリプトを実行していますが、履歴は Unix エポック タイムスタンプで記録されます。人間が読める形式のタイムスタンプが必要です。


_who_am_i=$(who am i|awk '{print $1}')
_ID=$(id -u $_who_am_i)
if [ "$_ID" > 0 ]
then
export HISTSIZE=10000
export HISTTIMEFORMAT="%F %T "
export HISTFILE=/var/log/users_historylogs/history-users-$(who am i | awk '{print $1}';exit)-$(date +%F)
export PROMPT_COMMAND='history -a'
fi

答え1

文書に記載されているようにファインマニュアルHISTTIMEFORMAT変数はコマンドの出力に適用されますhistory。履歴ファイルには常に Unix タイムスタンプが含まれます。これは、bash自体がそれを解析できるようにするために必要です。

関連情報