ターミナルウィンドウ(Gnome Terminal 3.6.2)を開き、コマンド(たとえば)を入力してから新しいターミナルウィンドウを開き、そのコマンドを入力すると、履歴echo "hello"
から<Ctrl>Rhello
そのコマンドを見つけることができると予想できます。
(reverse-i-search)`':
ただし、新しく入力したコマンドはプロンプトに表示されません。
しかし、いくつかのコマンドは一部端末する検索に表示されます。
それでは、私のLinux(Mint 17)は、どの端末のコマンドが他の端末の検索履歴に表示されるべきかをどのように決定しますか?
ベストアンサー1
端末アプリ自体は、説明する機能とは何の関係もありません。端末が行うことはテキストの入力と出力だけであり、残りは端末で行われることを理解することが非常に重要で有用です。シェル。端末は、単にキー入力を端末で実行されているプログラムにリダイレクトし、そのプログラムによって生成された出力を表示し、端末のサイズ変更についてプログラムに通知することができます。動作を変更するには、何を構成する必要があるかを知る必要があるため、これを理解することが重要です。
ほとんどの場合、Linuxのデフォルトシェルは次のとおりです。強く打つ、それは強く打つCtrl-Rとターミナルウィンドウで実行されている他のすべての操作に反応する人。
あなたが言う機能はbashの記録です。 Bashが記録を読み書きする方法と時期にはさまざまなオプションがあります。デフォルトでは、bashはシェルを終了したときに履歴ファイルに履歴を追加するため、あるシェルに入力すると、このコマンドは他のシェルの履歴には表示されません。
以下を追加すると、各コマンドを入力して保存できます。
export PROMPT_COMMAND="history -a"
~/.bashrc ファイルに。
各コマンドの後に再ロードすることもできます。
export PROMPT_COMMAND="history -a; history -r"
ただし、各コンソールを特定のジョブ専用に指定して終了する前に、その特定のジョブの記録を維持する方が合理的であるため、この方法はお勧めできません。