Я использую скрипт bash для запуска gnome-терминала с несколькими вкладками, каждая из которых использует свой профиль, рабочий каталог, а в некоторых случаях выполняет команду на вкладке.
В этой ситуации я бы хотел, чтобы клавиша со стрелкой вверх вызывала команды, которые использовались на определенной вкладке. Это возможно?
Я полагаю, вы можете использовать пользовательскую команду 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
До тех пор, пока команда tty
дает вам отдельные результаты (что, безусловно, должно происходить в любой стандартной среде Unix, хотя у меня были случайные ошибки в cygwin с определенными эмуляторами терминала), вы можете использовать это для разделения вещей, как хорошо.
У меня есть что-то вроде следующего в моих .bashrc
:
export HISTFILE="${HOME}/.history.d/history-"`uname -n`"-"`id -nu`"-"`tty|cut -c6-`
Что может показаться излишним, но вы поняли идею. Он разделяет его на основе
И вы можете добавить еще больше, если подумаете о вещах, которые имеют отношение к вам.