在搜索列出所有shell变量的命令时,我以某种方式意识到,有一个列出所有环境变量的命令,但是由于我不知道的原因,没有人列出所有shell变量。
但是,这里有人回答了如何显示所有变量,shell和环境变量。
( set -o posix ; set ) | less
他实际上没有为外行解释该表达的含义,而我的零碎理解不足以理解其背后的想法。
这就是我所知道的:
set是声明变量的某种方式,尽管不知道-o posix的含义以及为什么要连续执行第二个set
命令 更少这不是问题,即使我理解它,它也是用于对输出进行更多控制的寻呼机。
set
显示所有shell变量(是否导出)。在Bash中,set -o posix
将Shell设置为POSIX兼容模式。(我不知道其他shell对于类似功能是否具有相似的语法,但在这里我将假定为Bash。)
在这种情况下的区别在于,通常Bashset
还会显示shell函数,但在POSIX模式下set
仅显示变量,并略微更改输出格式:
- 在不带选项的情况下调用内置内置set时,它不显示shell函数名称和定义。
- 当不带选项调用内置函数set时,它将显示不带引号的变量值,除非它们包含外壳元字符,即使结果包含非打印字符也是如此。
在Bash中,另外还有一个declare
内置函数,可用于显示所有其他隐藏或Bash特定的变量标志:以Bash可以用作输入格式的形式declare -p xx
显示变量xx
。declare -p
显示所有变量,declare -f
并可用于显示函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句