bash: ostrzeżenie: poziom powłoki (1000) jest zbyt wysoki, resetuje się do 1

14

Właśnie próbowałem uruchomić to polecenie:

/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

Mam ten błąd:

bash: ostrzeżenie: poziom powłoki (1000) jest zbyt wysoki, resetuje się do 1

Co to za błąd?

Patrik Laszlo
źródło
Miałem to do czynienia z Makefilepowodu tego, jak i gdzie (wewnątrz ifneqklauzuli) uruchamiałem polecenia, które by używały vagrant ssh -c, musiałem uruchomić to w ramach jednej instrukcji za pomocą &&. Może to komuś pomoże.
NuclearPeon

Odpowiedzi:

16

Poziom powłoki określa poziom podpowłoki w zagnieżdżonej powłoce

Bash man - Shell Level SHLVL

SHLVL - Zwiększany o jeden za każdym razem, gdy uruchamiana jest nowa instancja Bash.

  • Ma to na celu zliczenie głębokości zagnieżdżenia pocisków Bash.

Jak widać tutaj

Po bashuruchomieniu sam poziom powłoki bash jest wyższy w 1

Następujące rekurencyjne wezwanie do bash:

$ echo "bash haha" > haha
$ bash haha

Od czasu do czasu otrzymuję tę wiadomość:

bash: ostrzeżenie: poziom powłoki (1000) jest zbyt wysoki, resetuje się do 1

Znaczenie powyższego błędu polega na tym, że bash nazwał się 1000 razy

Kolejny przykład, w jaki sposób zmienna $ SHLVL śledzi poziom zagnieżdżenia powłoki:

$ echo $SHLVL
1
$ bash
$ echo $SHLVL
2
$ exit
$ echo $SHLVL
1
Yaron
źródło
wiesz jak pozbyć się tego błędu? nie zmieniłem się na moim serwerze wciąż widzę, że jest teraz w CURL: bash: ostrzeżenie: poziom powłoki (1000) jest za wysoki, resetuje się do 1
Patrik Laszlo
1
Ach, mam to, miałem te same skrypty curl i było to recusive, to znowu dzięki ciao!
Patrik Laszlo,
@PatrikLaszlo - Świetnie to słyszeć. Jeśli moja odpowiedź rozwiązała twoje pytanie, zaakceptuj je
Yaron,
jak mogę zaakceptować? kliknąłem Up i to wszystko, nie ma przycisku akceptuj :(
Patrik Laszlo