gpt4 book ai didi

shell - $ 和 ${} 之间的 ksh 差异

转载 作者:行者123 更新时间:2023-12-01 11:35:46 26 4
gpt4 key购买 nike

有人可以向我解释一下,在 Korn shell 中,以下之间有什么区别:

ANOTHER_VAR=${SOME_VAR}
ANOTHER_VAR=$SOME_VAR
我遇到了这些类型的声明,但看不出有什么区别。

最佳答案

一个在名称周围有两个大括号字符,另一个没有;否则,在这种情况下,没有区别。

但是,如果您有:

ONE_VAR="$TWO_VAR_$THREE_VAR"
UNO_VAR="${TWO_VAR}_${THREE_VAR}"

然后是 $ONE_VAR 中的值和 $UNO_VAR除非 $TWO_VAR 否则会有所不同和 $TWO_VAR_存在和 $TWO_VAR_保存存储在 $TWO_VAR 中的值加上尾随下划线(其中 $TWO_VAR 可以是空字符串,或未定义,只要 $TWO_VAR_ 只包含一个下划线)。

感谢 William Pursellpointing out以前版本的一个小错误。

在许多情况下必须使用大括号,例如:
UNE_VAR=${YET_ANOTHER_VAR:-"default setting"}

关于shell - $ 和 ${} 之间的 ksh 差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27364826/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com