上下文是:
eval TLEN=\${#$1}
if [ $TLEN -gt 35 ]
then
...
fi
我想它可能被用来找出 $1 的长度。我不知道“\${#$1}”是什么意思。
我很久以前读过 bash 手册,但大部分都忘记了,请解释一下 ${something} 这个符号是什么意思,我依稀记得那个符号是一种常见的模式。
好的,我在手册中找到了它。 “${#parameter}”是对长度计数的响应。
最佳答案
eval TLEN=\${#$1}
行表示:取第一个参数 ($1),从中读取另一个参数的编号并计算另一个参数的长度。
如果您的代码作为脚本或函数 f
被调用,例如
f 2 qwe
它会将 TLEN 计算为 3,因为它将采用第一个参数,它指向第二个参数,第二个参数的长度为 3
关于bash - "eval TLEN=\${#$1}"是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21374483/