bash:警告:シェルレベル(1000)が高すぎます。 1にリセットしてください。

bash:警告:シェルレベル(1000)が高すぎます。 1にリセットしてください。

次のコマンドを実行してみました。

/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にリセットしてください。

このエラーは何ですか?

答え1

Shell Levelは、ネストされたシェルのサブシェルレベルを識別します。

Bash man - シェルレベル SLVL

SLVL - 新しい Bash インスタンスが起動されるたびに 1 ずつ増加します。

  • これは、Bashシェルの入れ子の深さを計算するために使用されます。

ご覧のとおりここ

自分で実行すると、bashbashシェルのレベルは1に高くなります。

以下はbashの再帰呼び出しです。

$ echo "bash haha" > haha
$ bash haha

定期的に次のメッセージを受け取ります。

bash:警告:シェルレベル(1000)が高すぎます。 1にリセットしてください。

上記のエラーは、bashが自分自身を1000回呼び出したことを意味します。

$SLVL変数がシェル入れ子レベルを追跡する方法の別の例:

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

関連情報