Можете ли вы ограничить команды типа .bashrc одним профилем терминала?

В рамках онлайн-курса по Git, преподаватель рекомендовал добавить некоторые команды в конец файла .bashrc, чтобы в окне терминала отображалась полезная информация, связанная с Git. Эти изменения очень полезны для курса Git, но я не люблю их для общего использования.

В Gnome Terminal есть возможность создавать профили и настраивать их в соответствии с настройками.

Можно ли настроить Bash таким образом, чтобы изменения, добавленные в файл .bashrc, были связаны только с одним профилем терминала? Я хотел бы, чтобы информация, связанная с Git, отображалась в одном профиле терминала, но не в других.

Если это уместно, это код в конце файла .bashrc:

# Enable tab completion
source ~/git-completion.bash

# colors!
green="\[\033[0;32m\]"
blue="\[\033[0;34m\]"
purple="\[\033[0;35m\]"
reset="\[\033[0m\]"

# Change command prompt
source ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
# '\u' adds the name of the current user to the prompt
# '\$(__git_ps1)' adds git-related stuff
# '\W' adds the name of the current directory
export PS1="$purple\u$green\$(__git_ps1)$blue \W $ $reset"
1
задан 13 May 2019 в 19:16

1 ответ

Создайте отдельный файл команд запуска (rc) для .bashrc

Сохраните ~/.bashrc как есть. При открытии терминала у вас будут нормальные операции.

Строки, о которых вы думали добавить в ~/.bashrc, вместо этого поместите в новый файл:

# ~/.gitrc
# Call after opening terminal use ". .gitrc" when it is time to
# work on Git course labs.

# Enable tab completion
source ~/git-completion.bash

# colors!
green="\[\033[0;32m\]"
blue="\[\033[0;34m\]"
purple="\[\033[0;35m\]"
reset="\[\033[0m\]"

# Change command prompt
source ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
# '\u' adds the name of the current user to the prompt
# '\$(__git_ps1)' adds git-related stuff
# '\W' adds the name of the current directory
export PS1="$purple\u$green\$(__git_ps1)$blue \W $ $reset"

cd ~/gitdir

Переключение между двумя мирами

После открытия терминала, если вы захотите ввести git-подсказки используйте: . .gitrc.

После запуска . .gitrc, если вы хотите получать регулярные приглашения в одном терминальном сеансе, просто используйте Ctrl + Shift + T . Откроется новая вкладка терминала с обычным ~/.bashrc без изменений ~/.gitrc.

НЕ делайте ~/.gitrc исполняемым

Нет необходимости использовать chmod a+x для ~/.gitrc, потому что вы его «используете». Это означает, что он выполняется в текущей оболочке, а не как процесс под-оболочки, который должен быть помечен как исполняемый, но также означает, что переменные исчезают после запуска.

В сущности, отметка ~/.gitrc как исполняемого файла и последующее обращение к нему с .gitrc вместо . .gitrc сломает его. Сохранение ~/.gitrc обычного файла гарантирует, что вы случайно не выполните его как команду.

0
ответ дан 13 May 2019 в 19:16

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

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