验证变量的长度

Pol*_*len 37 shell bash string

我必须验证变量读取的长度(我的脚本限制为插入的五个字符),我想这样的事情:

#!/bin/bash
read string
check=${#string}
echo $check
if [ $check -ge 5 ]; then echo "error" ; exit
else echo "done"
fi
Run Code Online (Sandbox Code Playgroud)

有没有更“优雅”的解决方案?

小智 62

更优雅?不

更短?是的 :)

#!/bin/bash
read string
if [ ${#string} -ge 5 ]; then echo "error" ; exit
else echo "done"
fi
Run Code Online (Sandbox Code Playgroud)

而且,如果您在交易更优雅以缩短更短时没有问题,您可以使用少 2 行的脚本:

#!/bin/bash
read string
[ ${#string} -ge 5 ] && echo "error" || echo "done"
Run Code Online (Sandbox Code Playgroud)

如果您认为更安全,可以使用双括号。解释在这里