ai didi

bash - ": ${foo=value}"中冒号运算符的解释

转载 作者:行者123 更新时间:2023-11-29 08:39:43 24 4
gpt4 key购买 nike

我理解 bash 中的冒号运算符,其作用类似于 a null ,我知道它用于 parameter expansion ,以及以其他方式使用,但有人可以解释一下吗:

: ${SOMETHING='value'}

根据实验我知道这会将环境变量 $SOMETHING 设置为 'value' 但为什么呢?

“只是因为它确实如此”是一个有效的答案,但请指出它的文档(我似乎找不到)或者此用法的专有名称会很有用。我希望有一个更有启发性的解释。

最佳答案

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

${SOMETHING='value'}

然后您的 shell 将尝试调用命令 value。这可能会或可能不会做一些不需要的事情;至少它会抛出一条消息“值:找不到命令”。

为避免这种情况,您可以使用无操作 :,它会评估其参数然后将其丢弃,而不是执行它。这记录在案 here .

关于bash - ": ${foo=value}"中冒号运算符的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7444504/

24 4 0
文章推荐: bash - 如何在案例陈述中使用模式?
文章推荐: bash - 确保一次只运行一个 shell 脚本实例的快捷方式
文章推荐: mysql - 迁移的 Joomla 网站显示表不存在
文章推荐: bash ->& 是什么意思?
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com