web-dev-qa-db-ja.com

コマンドをbashプロンプトに貼り付けると、履歴にありません—どうすれば追加できますか?

を使用してOSXまたはUbuntubashプロンプトにコマンドを貼り付けると CmdV、コマンドは実行されても履歴にありません。コマンドは、入力した場合にのみ履歴に残ります。

貼り付けたコマンドがbashの履歴に入るようにするにはどうすればよいですか?

6
Videk Rahul

行の先頭に空白があるコマンドを保存しない「ignorespace」ディレクティブがあります。これは、切り取りと貼り付けのときに可能です。コマンドの最初のインスタンスのみを保存する「ignoredups」ディレクティブがあります。これは、長い履歴ファイルがあり、以前にコマンドを使用したことがある場合に当てはまります。しかし、これらは両方とも私のOSX10.6マシンでは設定されていないため、オンにしない限り、これらはおそらく状況を説明しません。

他のシナリオは、別のユーザーに訴えた場合です。これは、何かを修正するために別の場所からコマンドを切り取って貼り付けている場合に当てはまる可能性があります。そのため、そのユーザー(通常はrootユーザー)から脱退した場合コンテキストでは、bash履歴は特権ユーザーの履歴にあり、自分の履歴にはないため、利用できません。

5
bdp

HISTCONTROLignorespaceまたはignoreboth以外に設定できます。

set HISTCONTROL=ignoredups 動作します。

4

私はKDEKonsoleでこの問題を抱えていました。

.bashrcを編集して変更する

HISTCONTROL=ignoreboth

HISTCONTROL=ignoredups

それを修正しました。以前は「スペースを前に置いたら履歴に追加しない」という便利なものが欲しかったのではないかと思いますが、今は端末間でのコピー&ペーストが多くて面倒でした。

1
andrew lorien