端末プロファイルごとに個別のbash履歴ファイルを作成できますか?


18

bashスクリプトを使用して、複数のタブでgnome-terminalを起動します。各タブは異なるプロファイル、作業ディレクトリを使用し、場合によってはタブ内でコマンドを実行します。

この場合、特定のタブで使用されたコマンドを取得するには、上矢印キーを使用します。これは可能ですか?


怖いのですが、シェルからプロファイルを決定する方法はないと思います。
タンブルウィード

回答:


16

たとえば、プロファイルごとにgnome-terminalカスタムコマンドを使用できると仮定します。たとえば、

bash -c 'PROFILE=default_profile exec bash'

または

bash -c 'PROFILE=screen_profile exec screen -U'

または類似。

それから ~/.bashrc

if [[ -n $PROFILE ]]; then
    HISTFILE=~/.bash_history."$PROFILE"
fi

10

このttyコマンドで個別の結果が得られる限り(標準のUNIX環境では確かにそうですが、特定のターミナルエミュレーターでcygwinにときどき誤動作することがあります)、これを使用して物事を分離することもできます。

私には次のようなものがあります.bashrc

export HISTFILE="${HOME}/.history.d/history-"`uname -n`"-"`id -nu`"-"`tty|cut -c6-`

これはやり過ぎのように思えるかもしれませんが、あなたはそのアイデアを理解します。それに基づいて分割します

  1. 私が乗っているマシン
  2. 私は誰ですか
  3. 私が使っている端末。

自分に関係のあることを考えると、さらに追加できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.