Когда использование *отклоняет оболочку (обычно удар), я часто порождаю подоболочку, с которой я могу заботиться о небольшой задаче (обычно в другом каталоге), затем выйти из возобновить сессию родительской оболочки.
Время от времени я потеряю след того, выполняю ли я вложенную оболочку, или в моей оболочке верхнего уровня, и я случайно буду порождать дополнительную подоболочку или выход из оболочки верхнего уровня по ошибке.
Существует ли простой способ определить, работаю ли я во вложенной оболочке? Или я иду о своей проблеме (путем порождения подоболочек) абсолютно неправильным способом?
Как [1 113] @John Kugelman говорит , echo $SHLVL
скажет Вам глубину оболочки удара.
И как [1 114] @Dennis шоу Williamson , можно отредактировать подсказку через PS1
переменная, чтобы заставить это печатать это значение.
я предпочитаю, что это всегда печать значение глубины оболочки, таким образом, вот то, что я сделал: отредактируйте Ваш "~/.bashrc" файл:
gedit ~/.bashrc
и добавляют следующую строку в конец:
export PS1='\$SHLVL'":$SHLVL\n$PS1"
Теперь Вы будете всегда , посмотрите распечатку своего текущего уровня удара чуть выше Вашей подсказки. Исключая: здесь Вы видите, что я на уровне удара (глубина) 2, как обозначено $SHLVL:2
:
$SHLVL:2
7510-gabriels ~ $
Теперь, следите за подсказкой, поскольку я спускаюсь на некоторые уровни удара через эти bash
команда, затем возвратитесь через exit
. Здесь Вы видите мои команды и запрашиваете (ответ), запускающийся на уровне 2 и снижающийся 5, затем возвращаясь до уровня 2:
$SHLVL:2
7510-gabriels ~ $ bash
$SHLVL:3
7510-gabriels ~ $ bash
$SHLVL:4
7510-gabriels ~ $ bash
$SHLVL:5
7510-gabriels ~ $ exit
exit
$SHLVL:4
7510-gabriels ~ $ exit
exit
$SHLVL:3
7510-gabriels ~ $ exit
exit
$SHLVL:2
7510-gabriels ~ $
git branch
, Вы идете также! Заставляют Вашу подсказку также показать Вам Ваш ответвление мерзавца, Вы работаете над [1 141] при помощи следующего в Ваш "~/.bashrc" файл вместо этого:
git_show_branch() {
__gsb_BRANCH=$(git symbolic-ref -q --short HEAD 2>/dev/null)
if [ -n " Как [1 113] @John Kugelman говорит , echo $SHLVL
скажет Вам глубину оболочки удара.
И как [1 114] @Dennis шоу Williamson , можно отредактировать подсказку через PS1
переменная, чтобы заставить это печатать это значение.
я предпочитаю, что это всегда печать значение глубины оболочки, таким образом, вот то, что я сделал: отредактируйте Ваш "~/.bashrc" файл:
[110] и добавляют следующую строку в конец:
[111] Теперь Вы будете всегда , посмотрите распечатку своего текущего уровня удара чуть выше Вашей подсказки. Исключая: здесь Вы видите, что я на уровне удара (глубина) 2, как обозначено $SHLVL:2
:
$SHLVL:2
7510-gabriels ~ $
Теперь, следите за подсказкой, поскольку я спускаюсь на некоторые уровни удара через эти bash
команда, затем возвратитесь через exit
. Здесь Вы видите мои команды и запрашиваете (ответ), запускающийся на уровне 2 и снижающийся 5, затем возвращаясь до уровня 2:
[112] Премия: всегда показывайте в Вашем терминале свой ток git branch
, Вы идете также!
Заставляют Вашу подсказку также показать Вам Ваш ответвление мерзавца, Вы работаете над [1 141] при помощи следующего в Ваш "~/.bashrc" файл вместо этого:
[113] Источник: Я понятия не имею, куда git_show_branch()
первоначально прибывает из, но я получил его от Jason McMullan 5 апреля 2018. Я затем добавил $SHLVL
часть, показанная выше только прошлой недели.
Демонстрационный вывод:
ведущее устройство $SHLVL:2
7510-gabriels ~/GS/dev/temp $
И вот снимок экрана, показывающий его во всей его славе. Заметьте имя ответвления мерзавца, master
, выделенный в белом !
Перекрестно сослался:
_gsb_BRANCH" ]; then
echo " Как [1 113] @John Kugelman говорит , echo $SHLVL
скажет Вам глубину оболочки удара.
И как [1 114] @Dennis шоу Williamson , можно отредактировать подсказку через PS1
переменная, чтобы заставить это печатать это значение.
я предпочитаю, что это всегда печать значение глубины оболочки, таким образом, вот то, что я сделал: отредактируйте Ваш "~/.bashrc" файл:
[110] и добавляют следующую строку в конец:
[111] Теперь Вы будете всегда , посмотрите распечатку своего текущего уровня удара чуть выше Вашей подсказки. Исключая: здесь Вы видите, что я на уровне удара (глубина) 2, как обозначено $SHLVL:2
:
$SHLVL:2
7510-gabriels ~ $
Теперь, следите за подсказкой, поскольку я спускаюсь на некоторые уровни удара через эти bash
команда, затем возвратитесь через exit
. Здесь Вы видите мои команды и запрашиваете (ответ), запускающийся на уровне 2 и снижающийся 5, затем возвращаясь до уровня 2:
[112] Премия: всегда показывайте в Вашем терминале свой ток git branch
, Вы идете также!
Заставляют Вашу подсказку также показать Вам Ваш ответвление мерзавца, Вы работаете над [1 141] при помощи следующего в Ваш "~/.bashrc" файл вместо этого:
[113] Источник: Я понятия не имею, куда git_show_branch()
первоначально прибывает из, но я получил его от Jason McMullan 5 апреля 2018. Я затем добавил $SHLVL
часть, показанная выше только прошлой недели.
Демонстрационный вывод:
ведущее устройство $SHLVL:2
7510-gabriels ~/GS/dev/temp $
И вот снимок экрана, показывающий его во всей его славе. Заметьте имя ответвления мерзавца, master
, выделенный в белом !
Перекрестно сослался:
_gsb_BRANCH"
fi
}
export PS1="\e[7m\$(git_show_branch)\e[m\n\h \w $ "
export PS1='\$SHLVL'":$SHLVL $PS1"
Источник: Я понятия не имею, куда git_show_branch()
первоначально прибывает из, но я получил его от Jason McMullan 5 апреля 2018. Я затем добавил $SHLVL
часть, показанная выше только прошлой недели.
Демонстрационный вывод:
ведущее устройство $SHLVL:2
7510-gabriels ~/GS/dev/temp $
И вот снимок экрана, показывающий его во всей его славе. Заметьте имя ответвления мерзавца, master
, выделенный в белом !