谁能给我解释一下这个命令
str=hello
echo ${#str}
此代码计算变量 str 中的字符数。我想知道它是如何工作的,符号 $、# 和 {} 的含义是什么
谢谢。
最佳答案
'$'引入了参数扩展,因此这里它用实际值“替换”变量:
str=hello
echo $str
> hello
使用大括号:{},您可以定义参数名称的边界。因此:“参数后面跟着一个字符,该字符不应被解释为其名称的一部分”。例如,这表明“asdfg”不是参数名称的一部分:
str=hello
echo ${str}asdfg
> helloasdfg
“#”只是告诉您需要该参数值的长度。
str=hello
echo ${#str}asdfg
> 5asdfg
但正如@John1024所说,这一切都在man bash
的参数扩展
部分中
关于linux - linux中 `echo ${#str}`是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43956336/