Как запустить указанный код.bashrc только при первом запуске консоли

У меня есть кусок кода в моем.bashrc, каждый раз, когда запускается оболочка (я обычно использую konsole), появляется переключатель, в котором указываются варианты использования ветви или ствола. Пример:

1) V0230
2) V0300
3) Dev

Enter Option: __

Переменные $PROJECT_HOME и другие устанавливаются в зависимости от сделанного выбора.

Раздражает то, что при каждом открытии новой вкладки появляется один и тот же экран. Но все же я хочу открыть новую консоль и использовать другую ветку, поэтому простой экспорт в variabe не может быть решением

Должен быть способ запустить этот код, только когда открыт новый экран консоли. Может быть, делая alias konsole=konsole --run <desired-function>, Документация konsole не помогает, нет даже man konsole просто konsole --help,

2 ответа

Решение

Просто создайте псевдоним:

$ alias konsole_select_branch='SELECT_BRANCH=true konsole'

и в вашем .bashrc:

if [ -n "$SELECT_BRANCH" ]
then
   # select branch
fi

и используйте konsole или konsole_select_branch, хотите ли вы выбрать ветку или просто открыть вкладку или окно.

Вы могли бы поставить скрипт в .bashrc которые частично перезаписать .bashrc; средство автозаполнения zsh делает что-то подобное, например, может делать что-то вроде

 if [ -f $HOME/.somebashthing; ]; then
    . $HOME/.somebashthing
 else
    read SOMETHING
    echo SOMEVAR=$SOMETHING > $HOME/.somebashthing
 fi

Это всего лишь эскиз; это зависит от вас, чтобы заполнить детали.

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