Bash 变量 - 定义多个可能的预期值
Bash Variables - Define Multiple Possible Expected Values
很抱歉,如果之前已经回答过这个问题,但我在网上找不到太多。
这是我要实现的目标:
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
但我正在寻找 optimize/streamline 代码。
任何见解都将不胜感激,因为我对 bash 脚本编写甚至一般脚本编写仍然很陌生。
TIA
在此处的 Unix 社区中找到了解决方案,我也发布了这个问题:
https://unix.stackexchange.com/q/255036/13792
if [[ "${host}" == @(euslc|eulvs)prdapp@(05|22|23) ]];然后
很抱歉,如果之前已经回答过这个问题,但我在网上找不到太多。
这是我要实现的目标:
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
但我正在寻找 optimize/streamline 代码。
任何见解都将不胜感激,因为我对 bash 脚本编写甚至一般脚本编写仍然很陌生。
TIA
在此处的 Unix 社区中找到了解决方案,我也发布了这个问题:
https://unix.stackexchange.com/q/255036/13792
if [[ "${host}" == @(euslc|eulvs)prdapp@(05|22|23) ]];然后