HISTTIMEFORMAT 変更はまったく機能しません。

HISTTIMEFORMAT 変更はまったく機能しません。

履歴コマンドにタイムスタンプを追加しようとしています。

export HISTTIMEFORMAT='%F %T '

ただし、履歴(以前と新規)のコマンドにはタイムスタンプは表示されません。

出力

history | tail
  445  exoirt HISTTIMEFORMAT='F% T%'
  446  export HISTTIMEFORMAT='F% T%'
  447  history
  448  history | tail
  449  ls
  450  cd
  451  ls
  452  cd
  453  ls
  454  cd

数字と列の間に日付/時刻情報があると予想されます。 ここのように(下のスクリーンショットにも表示されます)

       1  2008-08-05 19:02:39 service network restart
       2  2008-08-05 19:02:39 exit
       3  2008-08-05 19:02:39 id
       4  2008-08-05 19:02:39 cat /etc/redhat-release

出力

type history

はい

history is an alias for history 0

~/.bashrc ファイルに変数を挿入しようとしましたが、再び動作しません。

編集する: 私はCaliLinuxを使用しています。システムを再起動し、履歴サイズとデータをリセットしてみました。 編集#2: 出力

echo $ZSH_VERSION 
5.8

出力

echo $SHELL
/usr/bin/zsh

ベストアンサー1

カリLinuxを使用しています。 Kali Linuxディストリビューションzshbash

これは、ユーザーが変更した内容が使用している~/.bashrcシェルに表示されないことを意味します。代わりに、シェルはzshこの~/.zshrcファイルを使用して対話型シェルセッションを初期化します。

また、特定のタスクを実行できるzshシェルというシェル変数はありません。HISTTIMEFORMAT(しかしthisを使用している場合は、この変数をbash使用する必要はありません。)代わりに、履歴を別の方法で表示するには組み込みコマンドをexport使用する必要があります。history

ただし、最初にタイムスタンプを含む拡張形式で履歴情報をシェルに保存する必要があります。あなたはこれを

setopt EXTENDED_HISTORY

~/.zshrc(起動するすべてのシェルセッションでこれを行う場合はこれを行うことができます)。このシェルオプションはzshoptionsマニュアルに記載されています。

historyその後、Kali Linuxにデフォルトで~/.zshrc設定されているやや役に立たないエイリアスを削除する必要があります。これにより、historyコマンドが正しく使用できなくなります。

その行をコメントアウトしてください。

alias history="history 0"

または追加

unalias history

ファイルの最後に。

その後、次のようにタイムスタンプを表示できます。

history -i

また、 の出力形式を指定する方法についてのマニュアルfc(実際は)のマニュアルを参照してください。history例えばfc -lzshbuiltinshistory

history -t '%F %T'

history -i(これはfromの出力形式とほぼ同じですが、秒が追加されます。)

おすすめ記事