什么时候可以在 bash 中的变量名之前使用“$”字符?

互联网 行业动态 更新时间:2024-06-13 00:19:32

Cha*_*ffy 7

美元符号在算术上下文中是可选的。这是将值解释为数字的任何上下文。

$(( ... ))在所有 POSIX shell 中创建算术上下文 (( ... ))在 bash 中创建算术上下文,包括在for ((expr1; expr2; expr3)). let在支持古老的 POSIX 之前的非标准语法的 shell(如 bash)中创建算术上下文。 在${array[idx]}or中,只要数组没有被声明为关联的,就会被计算为算术array[idx]=valueidx In [[ value1 -le value2 ]], 因为-le是算术运算符(它只进行数字比较,而不是字符串比较),两者value1value2都被解析为算术。-eq对于, -ne,-lt和也是-gt如此-ge。 在${string:start:len}中,两者startlen都是算术上下文。 当declare -i variable已将变量声明为具有数字类型并variable=value随后运行时,value是算术上下文。

请注意,这不适test用于内部或[命令的算术比较;test(无论是否以 name 命名[)的行为就像一个常规的 shell 命令,而不是特殊的语法(尽管有一个内置的实现作为性能优化)。

Bar*_*mar 6

在Bash 条件表达式的描述中,算术比较运算符(-lt-gt等)的描述说:

当与 [[ 命令一起使用时,Arg1Arg2被计算为算术表达式(请参阅Shell Arithmetic)。

当您点击该链接时,它会说:

在表达式中,shell 变量也可以通过名称来引用,而无需使用参数扩展语法。

以及算术扩展的描述-$((expression))说:

表达式中的所有标记都经过参数和变量扩展、命令替换和引号删除。...根据下面列出的规则执行评估(请参阅Shell Arithmetic)。

@CharlesDuffy问题开始于“有人能解释一下为什么会这样吗”,然后继续说他在文档中找不到它。我在他的文档中找到了它。 (2认同)

更多推荐

什么时候,字符,变量名,bash

本文发布于:2023-04-21 10:05:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/hyzx/3a034afa2fbd14066a1377730ec18e26.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:什么时候   字符   变量名   bash

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!