追加読書

追加読書

複数のコマンドを入力しましたが、実行したときにhistoryそのコマンドがないことがわかりました。

コマンドが(スペース)で始まる場合以外に、コマンドが履歴に書き込まれない場合は何ですか?

ベストアンサー1

すでに先行スペースに言及し、他の回答ではパットについて言及しました。意図的に設定などの記録に保存されている内容を変更してHISTIGNORE簡単に記録をオフにする

別の状況は、同じユーザーが複数の対話型シェルを実行している場合です。 Zシェルには、share_history複数のZシェルインスタンスが共有履歴ファイルを更新するオプションがあります。ファイルを再読み込みして新しい項目を見つけ、各項目にタイムスタンプを適用します。

Bourne Againシェルにはこれらの組み込み機能はありません。少しこれを行うときは、shenanigansを使用して印刷プロンプトでコマンドを実行します。これは、シェルが自分以外のものを履歴ファイルに書き込むことを期待せず、各コマンドラインが実行された後に履歴が更新されないという点で、デフォルトの履歴ファイルの動作を変更します。

特に、Bourne Againシェルのデフォルトの動作は、シェルが終了した場合、またはコマンドを使用して明示的に指示された場合にのみ履歴ファイルを更新しますhistory。これは、ユーザーが複数の対話型シェルセッションを持つときに、1つのシェルが別のシェルによって作成された履歴を上書きするだけでなく、シェルが終了しない可能性があることを意味します。きれいに履歴ファイルは記録されないため、シェルの異常終了と履歴ファイルの最後の(明示的な)更新の間に発生したコマンド履歴は失われます。

追加読書

おすすめ記事