質問: Tera TermでLinuxサーバにssh接続しています。セッションを切り替えたりexitしたりしなければ、自分のセッションでの履歴を↑ボタンで見られるのですが、別セッションになると元のセッションの履歴が見られなくなってしまいます。これを解消する方法はないでしょうか。 **行いたいこと** セッション1 ``` $python3 myfunc_1_1.py # 12:00に実行 $python3 myfunc_1_2.py # 13:00に実行 ``` セッション2 ``` $python3 myfunc_2_1.py # 12:30に実行 $python3 myfunc_2_2.py # 13:30に実行 ``` とコマンドを実行した後に、例えばこの後新たなセッション3を立ち上げた時↑をクリックすると セッション3 ``` $python3 myfunc_2_2.py # 13:30に実行 $python3 myfunc_1_2.py # 13:00に実行 $python3 myfunc_2_1.py # 12:30に実行 $python3 myfunc_1_1.py # 12:00に実行 ``` の順にコマンド履歴が表示されてほしいです。今だと、確かに履歴は表示されるのですが、その履歴はセッション1から来たものなのかセッション2から来たものなのかなどの法則性が良くわからない状態になっています。 何か良い方法をご存じの方、教えていただけないでしょうか。もしくはTera Term以外の「〇〇のターミナルアプリならできる」という情報でも構いません。よろしくお願いします。
回答: すでに回答が付いていますが、情報があった方がいいと思うので別解を。 zshには同時に起動されている複数のシェルの間で履歴を共有する機能が有ります。 この機能を有効化するには以下のコマンドを`.zshrc`に追加します。 ``` setopt SHARE_HISTORY ``` 注意点としては、履歴の同期を行うのはプロンプトを新たに表示した時となる事です。 プロンプトを表示した後に他のシェルが実行した履歴は参照出来ません。 他のシェルによる新たな履歴を参照したい場合は、何もコマンドを入力せずにReturnキーを押すなどして、新たにプロンプトを表示させる必要があります。 この辺りの制約はbashでPROMPT_COMMANDを利用した履歴共有と同じですね。