bash - 无法验证 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
. 我在这里想念什么?
解决方案
这应该有效(请注意波浪号):
echo "enter variable"
read var
if [[ ${var} =~ ^[a-zA-Z][a-zA-Z0-9]{0,25}$ ]] ; then
echo "valid"
else
echo "invalid"
fi
推荐阅读
- reactjs - 用 formik 转义方括号
- c# - 拆分字符串并转换为可为空的 long
- r - 具有不同列数的制表符分隔文件 - R
- sinch - 如何在 sinch PSTN JS-SDK 中使用网络到电话接听来电
- jsqlparser - JSQL Parser - 关于 dblink 的信息
- c# - 如何统一从子类更改父类变量
- alfresco - Alfresco:搜索所有没有父节点的节点
- jquery - jquery:不选择不排除预期元素
- java - 使用大量行时出现 RowsExceededException
- c - 预快速警告:“算术溢出:32 位值被移位,然后转换为 64 位值。”