bash: 警告: shell 级别 (1000) 太高,重置为 1

Pat*_*zlo 21 bash

我只是尝试运行此命令:

/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
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

bash: 警告: shell 级别 (1000) 太高,重置为 1

这是什么错误?

Yar*_*ron 24

Shell Level 标识嵌套 shell 中子 shell 的级别

Bash man - Shell 级别 SHLVL

SHLVL - 每次启动一个新的 Bash 实例时增加 1。

  • 这旨在计算您的 Bash shell 嵌套的深度。

正如你在这里看到的

bash执行本身bash外壳水平在1高

以下对 bash 的递归调用:

$ echo "bash haha" > haha
$ bash haha
Run Code Online (Sandbox Code Playgroud)

定期收到此消息:

bash: 警告: shell 级别 (1000) 太高,重置为 1

上面错误的意思是bash调用了自己1000次

$SHLVL 变量如何跟踪 shell 嵌套级别的另一个示例:

$ echo $SHLVL
1
$ bash
$ echo $SHLVL
2
$ exit
$ echo $SHLVL
1
Run Code Online (Sandbox Code Playgroud)

  • 啊,我明白了,我有相同的 curl 脚本,它是递归的,再次感谢,ciao! (2认同)