我试图让这个正则表达式模式在 case 语句中工作以匹配可以传递给脚本的特定类型的 ID。我需要将字母数字字符的确切数量与破折号相匹配,以将此消息 ID 与可能传递给此 bash 脚本的任何其他内容区分开来。
消息 id 格式的示例:c7c3e910-c9d2-71e1-0999-0aec446b0000
#!/bin/bash
until [ -z "$1" ]
do
case "$1" in
"")
echo "No value passed"
;;
[a-z0-9]\{8\}-[a-z0-9]\{4\}-[a-z0-9]\{4\}-[a-z0-9]\{4\}-[a-z0-9]\{12\})
echo "Found message ID: $1"
;;
*)
echo "Server $1"
;;
esac
shift
done