bash: попередження: рівень оболонки (1000) занадто високий, скидання до 1


14

Я просто спробував запустити цю команду:

/etc/ssl/acme/acme.sh --log /var/log/p3x/acme/acme.sh.log --home /etc/ssl/acme --force --issue -d patrikx3.tk -w /var/www/acme-challenge

Я отримав цю помилку:

bash: попередження: рівень оболонки (1000) занадто високий, скидання до 1

Що це за помилка?


У мене це сталося Makefileчерез те, як і де (всередині ifneqпункту) я vagrant ssh -cзапускав команди, які будуть використовувати , я повинен був запускати його в одному операторі, використовуючи &&. Можливо, це комусь допоможе.
NuclearPeon

Відповіді:


16

Рівень оболонки ідентифікує рівень підколінника в вкладеній оболонці

Чоловік Баш - Рівень оболонки SHLVL

SHLVL - збільшується по одному щоразу, коли починається новий екземпляр Bash.

  • Це призначено для підрахунку того, наскільки глибоко вкладені ваші раковини Баша.

Як ви можете бачити тут

При bashсамому виконанні рівень оболонки bash вище 1

Наступний рекурсивний виклик bash:

$ echo "bash haha" > haha
$ bash haha

Періодично отримувати це повідомлення:

bash: попередження: рівень оболонки (1000) занадто високий, скидання до 1

Сенс наведеної вище помилки в тому, що баш називав себе 1000 разів

Ще один приклад, як змінна $ SHLVL відстежує рівень гніздування вашої оболонки:

$ echo $SHLVL
1
$ bash
$ echo $SHLVL
2
$ exit
$ echo $SHLVL
1

чи знаєте ви, як позбутися цієї помилки? я ще не змінився на своєму сервері, я все ще можу побачити, що він знаходиться зараз у CURL: bash: попередження: рівень оболонки (1000) занадто високий, скидання до 1
Патрік Ласло

1
ах, я це отримав, у мене були ті ж сценарії завитків, і це було рекесивно, ось, ще раз дякую, ciao!
Патрік Ласло

@PatrikLaszlo - Чудово це чути. Якщо моя відповідь вирішила ваше запитання, прийміть це
Ярон

як я можу прийняти? Я натиснув, і це все, немає кнопки прийняття :(
Патрік Ласло
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.