自动导出 bash 内部变量

自动导出 bash 内部变量

我需要从 shell 脚本调用的命令访问一些 bash 内部变量 (BASH_LINENO、BASH_SOURCE)。我的命令和脚本之间唯一可能的接口是环境变量。有没有办法配置 bash 以使某些内部变量全局化:

例子:

myscript.sh
#!/bin/bash

# ... some scripting stuff ...

mycommand  # LINENO=4, BASH_SOURCE=([0]="myscript.sh")

# ... some other scripting stuff ...

所以我需要的是当 bash 调用我的命令时;$LINENO 和 $BASH_SOURCE(内部变量)变为全局变量,以便我的命令可以访问它们。

我不是在寻找像这样的命令:

declare -x LINENO

因为LINENO会随时间变化,如果我这样做,declare -x LINENO新的全局变量将采用此时LINENO的(内部)值。我需要这个东西是动态的,这样全局变量才能反映每次变化的值。LINENOLINENOLINENO

用编程的话来说:我想将这些变量的范围从内部更改为全局,或者使其成为类似指针的东西。

相关内容