这一切都在标题中.
相位的问题的另一种方法是:在bash,什么是检查字符串是否是40(或32)中的人物的范围序列的简洁的方式[0-9]和[a-f]?
试试32个字符:
if [[ $SOME_MD5 =~ ^[a-f0-9]{32}$ ]]
then
echo "Match"
else
echo "No match"
fi
Run Code Online (Sandbox Code Playgroud)
具有功能:
is_valid() {
case $1 in
( *[!0-9A-Fa-f]* | "" ) return 1 ;;
( * )
case ${#1} in
( 32 | 40 ) return 0 ;;
( * ) return 1 ;;
esac
esac
}
Run Code Online (Sandbox Code Playgroud)
如果shell支持POSIX字符类 [![:xdigit:]]可以代替使用[!0-9A-Fa-f].