gpt4 book ai didi

regex - Bash case 语句中的正则表达式

转载 作者:行者123 更新时间:2023-11-29 08:41:30 26 4
gpt4 key购买 nike

我正在使用以下脚本,它使用 case 语句来查找服务器。

    #!/bin/bash
SERVER=$1;
echo $SERVER | egrep "ws-[0-9]+\.host\.com";
case $SERVER in
ws-[0-9]+\.host\.com) echo "Web Server"
;;
db-[0-9]+\.host\.com) echo "DB server"
;;
bk-[0-9]+\.host\.com) echo "Backup server"
;;
*)echo "Unknown server"
;;
esac

但它不起作用。正则表达式与 egrep 一起使用,但不与大小写一起使用。样本O/P

./test-back.sh ws-23.host.com
ws-23.host.com
Unknown server

有什么想法吗?

最佳答案

Bash case 不使用正则表达式,而是shell pattern matching仅。

因此,您应该使用模式 ws*.host.com(或 ws-+([0-9]).host.com,但这看起来有点高级,我从未尝试过:-)

关于regex - Bash case 语句中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9631335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com