bash – “:${foo = value}”中的冒号运算符的说明

前端之家收集整理的这篇文章主要介绍了bash – “:${foo = value}”中的冒号运算符的说明前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我理解冒号运算符在bash的行为像 a null,我知道它在 parameter expansion使用,以及使用其他方式,但有人可以解释这一点:
: ${SOMETHING='value'}

从实验我知道,这将环境变量$ SOMETHING设置为’value’,但为什么?

“只是因为它是”是一个有效的答案,但然后请指出我的文档(我似乎找不到)或一个正确的名称,这种用法将是有用的。我希望有一个更有启发性的解释。

如果尚未设置,表达式将SOMETHING设置为value。在许多情况下,这是一个有用的运算符。但是,它也返回赋值,所以如果你只是执行
${SOMETHING='value'}

那么你的shell会尝试调用命令的值。这可能或可能不会做一些不必要的事情;至少它会抛出一条消息“值:命令未找到”。

为了避免这种情况,你可以使用no-op:来评估它的参数,然后抛弃它,而不是执行它。

原文链接:https://www.f2er.com/bash/391007.html

猜你在找的Bash相关文章