如何检查bash脚本中使用的所有变量?
有没有办法检查bash脚本中声明的所有变量是否正在使用?类似于C++中的Wall?如何检查bash脚本中使用的所有变量?,bash,variables,Bash,Variables,有没有办法检查bash脚本中声明的所有变量是否正在使用?类似于C++中的Wall? 干杯没有内在的方法可以做到这一点,不,也永远不可能做到完美,因为这样的情况: 假设用户的Bash配置文件将CLASSPATH导出为环境变量。然后一个Bash脚本可能包含如下语句 CLASSPATH=... 从那时起,引用未设置的变量或参数将是一个错误。这有助于检测变量名和诸如此类的输入错误。这显然比gcc-Wall所做的要少得多(因为gcc在引用未声明的变量时总是会给出错误消息),但您可能会发现同样的好处。没有
干杯没有内在的方法可以做到这一点,不,也永远不可能做到完美,因为这样的情况:
- 假设用户的Bash配置文件将
导出为环境变量。然后一个Bash脚本可能包含如下语句 CLASSPATH=...CLASSPATH
从那时起,引用未设置的变量或参数将是一个错误。这有助于检测变量名和诸如此类的输入错误。这显然比
所做的要少得多(因为gcc-Wall
在引用未声明的变量时总是会给出错误消息),但您可能会发现同样的好处。没有内置的方法可以做到这一点,也不可能做到完美,因为以下情况:gcc
- 假设用户的Bash配置文件将
导出为环境变量。然后一个Bash脚本可能包含如下语句 CLASSPATH=...CLASSPATH
从那时起,引用未设置的变量或参数将是一个错误。这有助于检测变量名和诸如此类的输入错误。这显然比
所做的要少得多(因为gcc-Wall
在引用未声明的变量时总是给出错误消息),但您可能会发现它以同样的方式是有益的。这有点棘手,因为您不能静态地执行它。这有点棘手,因为您不能静态地执行它。谢谢,gcc
将非常有用。然而,我正在寻找一些可以检查所有声明的变量是否被使用的东西,而不是所有被使用的变量是否都被声明。也许bash脚本可以做到这一点?@Eddy:是的,我明白你在找什么。正如我所解释的,没有内在的方法可以做到这一点,也永远不可能做到完美。您是否正在寻找一种容易出错的方法来近似此值?谢谢,set-u
将非常有用。然而,我正在寻找一些可以检查所有声明的变量是否被使用的东西,而不是所有被使用的变量是否都被声明。也许bash脚本可以做到这一点?@Eddy:是的,我明白你在找什么。正如我所解释的,没有内在的方法可以做到这一点,也永远不可能做到完美。您是否在寻找一种容易出错的方法来近似此值?set-u
- 假设用户的Bash配置文件将