If ! 是什么意思? shopt –oq posix;到底是什么意思?

If ! 是什么意思? shopt –oq posix;到底是什么意思?
If ! shopt –oq posix; then

我搜索了有关此问题的所有页面,但没有找到明确的解释。有人可以帮我吗?

答案1

假设If实际上是if,该行引入了一条if运行命令! shopt -oq posix作为测试的语句。

shoptshell中的实用程序是bash用于设置某些 shell 选项的实用程序。该实用程序还可用于测试是否设置了特定的 shell 选项。这就是该实用程序if在问题的陈述中的用途。

-o选项使其期望给定的选项是有效的选项之一set -o(参见help setbash,并且该-q选项使实用程序安静,即它只会产生退出状态但不会产生输出。语句shopt将使用的退出状态if来确定是否执行语句体if

该测试检查posixshell 选项是否在 shell 中设置bash,如果没有设置(调用结果的解释shopt与前面的 相反),则将执行语句!的主体。if

另请参阅help shopt交互式bash会话。

shopt实用程序不是标准实用程序,而是 shell 专门提供的内置实用程序bash

相关内容