我理解 bash 中的冒号运算符的作用类似于a null http://devmanual.gentoo.org/tools-reference/bash/index.html#multiple-selection,我知道它用在参数扩展 http://www.faqs.org/docs/bashman/bashref_29.html,以及以其他方式使用,但有人可以解释一下:
: ${SOMETHING='value'}
通过实验我知道这设置了环境变量$SOMETHING
to 'value'
但为什么?
“只是因为它确实如此”是一个有效的答案,但请指出它的文档(我似乎找不到)或此用法的正确名称会很有用。我希望有一个更有启发性的解释。
表达方式${SOMETHING='value'}
将某事设置为value
如果尚未设置。在许多情况下,这是一个有用的运算符。但是,它也会返回分配的值,因此如果您只是执行
${SOMETHING='value'}
那么你的 shell 会尝试调用命令value
。这可能会也可能不会做一些不需要的事情;至少它会抛出一条消息“值:找不到命令”。
为了避免这种情况,你可以使用 no-op:
,它评估其参数,然后将其丢弃,而不是执行它。这是有记录的here http://www.gnu.org/software/bash/manual/bashref.html#Bourne-Shell-Builtins.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)