2

抱歉,如果以前已经回答过这个问题,但我在网上找不到太多。

这是我要完成的工作:

if [[ "${hostname}" = (foo | bar)servername(01 | 02 | 03) ]]; then var="foobarfoo"
fi

这样,以下任何一项都将满足条件:fooservername01、barservername02、fooservername03、barservername03 等。

我以一种效率低得多的方式完成了这项工作:

if [[ ${hostname} == "fooservername01" ]] || [[ ${hostname} == "fooservername02" ]] || [[ ${hostname} == "fooservername03" ]] || [[ ${hostname} == "barservername01" ]] || [[ ${hostname} == "barservername02" ]] || [[ ${hostname} == "barservername03" ]]; then var="foobarfoo"
fi

但我希望优化/简化代码。

任何见解都将不胜感激,因为我对 bash 脚本甚至一般脚本仍然很陌生。

TIA

4

1 回答 1

-1

在 Unix 社区中找到了解决方案,在这里我也发布了这个问题:

https://unix.stackexchange.com/q/255036/13792

如果 [[ "${host}" == @(euslc|eulvs)prdapp@(05|22|23) ]]; 然后

于 2016-01-13T09:39:18.420 回答