Уровень оболочки определяет уровень вложенной оболочки во вложенной оболочке
Баш человек - Shell Level SHLVL
SHLVL - увеличивается на единицу каждый раз, когда запускается новый экземпляр Bash.
- Это предназначено для подсчета того, насколько глубоко вложены ваши оболочки Bash.
Как вы можете видеть здесь
Когда bashвыполняется сам уровень оболочки bash выше в 1
Следующий рекурсивный вызов bash:
$ echo "bash haha" > haha
$ bash haha
Получал это сообщение периодически:
bash: предупреждение: уровень оболочки (1000) слишком высокий, сброс на 1
Смысл ошибки выше в том, что bash вызывал себя 1000 раз
Другой пример того, как переменная $ SHLVL отслеживает уровень вложенности вашей оболочки:
$ echo $SHLVL
1
$ bash
$ echo $SHLVL
2
$ exit
$ echo $SHLVL
1
Makefileиз-за того, как и где (внутриifneqпредложения) я выполнял команды, которые я буду использоватьvagrant ssh -c, мне приходилось запускать его в рамках одного оператора, используя&&. Может быть, это кому-то поможет.