Могу ли я создать отдельный файл истории Bash для каждого профиля терминала?

Я использую скрипт bash для запуска gnome-терминала с несколькими вкладками, каждая из которых использует свой профиль, рабочий каталог, а в некоторых случаях выполняет команду на вкладке.

В этой ситуации я бы хотел, чтобы клавиша со стрелкой вверх вызывала команды, которые использовались на определенной вкладке. Это возможно?

18
задан 13 June 2012 в 18:32

2 ответа

Я полагаю, вы можете использовать пользовательскую команду 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
0
ответ дан 13 June 2012 в 18:32

До тех пор, пока команда tty дает вам отдельные результаты (что, безусловно, должно происходить в любой стандартной среде Unix, хотя у меня были случайные ошибки в cygwin с определенными эмуляторами терминала), вы можете использовать это для разделения вещей, как хорошо.

У меня есть что-то вроде следующего в моих .bashrc:

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

Что может показаться излишним, но вы поняли идею. Он разделяет его на основе

  1. , на какой машине я работаю,
  2. , кто я, и
  3. на каком терминале я нахожусь.

И вы можете добавить еще больше, если подумаете о вещах, которые имеют отношение к вам.

0
ответ дан 13 June 2012 в 18:32

Другие вопросы по тегам:

Похожие вопросы: