首页 > 解决方案 > 无法验证 shell 脚本中的字符串

问题描述


echo "enter variable" 
    read var
    if[[ ${var} = ^[a-zA-Z][a-zA-Z0-9]{0,25}$ ]];then
        echo "valid" 
    else
        echo "invalid" 
    fi

我正在尝试验证(以一个字符开头,后跟字母数字,没有特殊字符)。允许 26 个字符。对于每个输入,它给出valid. 我在这里想念什么?

标签: bashshell

解决方案


这应该有效(请注意波浪号):

echo "enter variable" 
read var 
if [[ ${var} =~ ^[a-zA-Z][a-zA-Z0-9]{0,25}$ ]] ; then
  echo "valid" 
else 
  echo "invalid" 
fi

推荐阅读