![如何在shell脚本中计算变量长度?](https://linux22.com/image/54067/%E5%A6%82%E4%BD%95%E5%9C%A8shell%E8%84%9A%E6%9C%AC%E4%B8%AD%E8%AE%A1%E7%AE%97%E5%8F%98%E9%87%8F%E9%95%BF%E5%BA%A6%EF%BC%9F.png)
我想写一个shell脚本,它会根据可变长度调用不同的命令。但我还没弄清楚。
我的未工作脚本在这里:
for i in n5 n25
if ${#i} == 2;
then
do
python two.py n5
elif ${#i} == 3;
do
python three.py n25
fi
如何计算shell脚本中的变量长度?
答案1
您可能想要:
for i in n5 n25
do
if [ ${#i} -eq 2 ]; then
python two.py n5
elif [ ${#i} -eq 3 ]; then
python three.py n25
fi
done
注意:
for
与 相配do ... done
。if
与 相配then ... [elif; then] ... [else; then] ... fi
。- 整数比较需要
-eq
(等于)而不是=
(对于字符串),并写在括号(if [ "$var" -eq 2 ]
等)内。