我想从用户那里收到一个字符串(一个单词),它应该通过以下标准:该字符串可能只包含字母字符(aA-zZ)和下划线。不允许任何其他数字。 我怎么能用bash做到这一点?
答案 0 :(得分:8)
使用=~
检查(POSIX扩展)正则表达式的字符串。有关详情,请参阅联机帮助页bash(1)
和regex(7)
。
# assume your string is in variable $s
if [[ $s =~ ^[A-Za-z_]+$ ]]; then
# it matches
else
# doesn't match
fi