【发布时间】:2015-05-21 04:25:07
【问题描述】:
我在一个小的 bash 函数中有这一行:
if [ ${#$2} -lt 25 ]; then
但它在${#$2} 上给了我Bad substitution。我在那里做错了什么?我正在尝试获取第二个命令行参数的字符长度。我该怎么做?
【问题讨论】:
我在一个小的 bash 函数中有这一行:
if [ ${#$2} -lt 25 ]; then
但它在${#$2} 上给了我Bad substitution。我在那里做错了什么?我正在尝试获取第二个命令行参数的字符长度。我该怎么做?
【问题讨论】:
参数名称是2,而不是$2。
if [ ${#2} -lt 25 ]; then
【讨论】:
$1、$2 等引用。
x被$x引用一样,2被$2引用的特殊参数也是如此。使用${#2},您已经有了美元符号;您只是将 # 运算符添加到扩展中。