如果我想查看一个字符串是否是字母数字并且比某个值短,比如 10,我会这样做(在 BASH+GREP 中):
if grep '^[0-9a-zA-Z]\{1,10\}$' <<<$1 ; then ...
(顺便说一句:我正在检查 $1,即第一个参数)
如果我希望将值 10 写在变量上,例如
UUID_LEN=10
if grep '^[0-9a-zA-Z]\{1,$UUID_LEN\}$' <<<$1 ; then ...
我尝试了各种转义,大括号等,但无法避免错误消息
grep: Invalid content of \{\}
在谷歌搜索和阅读 bash 和 grep 教程之后,我非常确信它无法完成。我错了吗?有什么办法可以解决这个问题吗?