如何在Bash脚本中回显“ $ x_ $ y”?

如何在Bash脚本中回显“ $ x_ $ y”?,第1张

如何在Bash脚本中回显“ $ x_ $ y”?

由于允许变量名中带有下划线,因此命令:

echo "$x_$y"

正在尝试回显

${x_}
(在您的情况下可能为空),然后是
${y}
。这样做的原因是因为参数扩展是一个贪婪的 *** 作-
$
在变量名后将使用尽可能多的合法字符。

手册的相关部分

bash
指出:

$
字符引入参数扩展,命令替换或算术扩展。

可以将要扩展的参数名称或符号括在括号内,该括号是可选的,但 用于保护要扩展的变量不受紧随其后的字符的影响,这些字符可以解释为名称的一部分。

使用花括号时,匹配的结尾花括号是第一个

}
不被反斜杠或加引号的字符串引起的转义,而不是嵌入的算术扩展,命令替换或参数扩展。

因此,该解决方案是确保

_
作为第一变量,它是可以做到的一部分进行处理:

echo "${x}_${y}"

我倾向于像这样做 所有的 bash变量,甚至是独立的变量:

echo "${x}"

因为它更明确,而且我在过去被咬过很多次:-)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5009709.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存