たぶん私は何かを見落としているかもしれませんが、現在使用中のセッションの現在のbashレコードを取得する方法はありますか?
走れば
ssh host
$ pwd
$ ls
$ cd /tmp
この3つのコマンドだけを見たいです。他にはありません。
答え1
ややバイパス方法:
history -a ~/current_history
これにより、現在のセッションの未保存のbash履歴がに保存され、表示されます~/current_history
。
答え2
history
問題があり、現在の記事を書きたいです。文書しかし、まだエントリがデフォルトのbashに書き込まれることを望みます。history
私は追加してこの問題を解決しました。文書そしてcat
:
history -a current-history
cat current-history >> .bash_history
答え3
history -a
ファイル名で作業します。などのデバイスファイルにすることができます/dev/stdout
。
その後、必要に応じてパイプできます。たとえば、現在のセッション履歴を表示するには、less
次のようにします。
history -a /dev/stdout | less
答え4
comp
フルレコード(現在のBashセッションを含む)を保存されたレコードと比較し、.bash_history
現在のセッションに関連する行のみを印刷するために使用されます。これは、現在のBashシェルが開始されてから実行されたコマンドのみを表示する必要があります。
comm -23 <( history | cut -c 8- ) ~/.bash_history
編集する:@Wildcardが指摘したように、このコマンドはすべてのディストリビューションでは機能しませんcomm
。私はこれをMac OSでテストしました。
同じアイデアの次のバリエーションを使用してくださいdiff
。
diff <( history | cut -c 8- ) ~/.bash_history | sed -n 's/^< //pg'