在我系统的脚本中/etc/network/if-up.d/avahi-autoipd
,我发现这样的语句:
case "$ADDRFAM" in
inet|NetworkManager) ;;
*) exit 0
esac
case "$METHOD" in
static|dhcp|NetworkManager) ;;
*) exit 0
esac
管道字符|
看起来像逻辑“或”,但我在指南中找不到这条规则。我只能找到|
用作命令管道和算术整数的“按位或”。
谁能告诉我这种情况有什么用?
答案1
在 case 语句的模式子句中,|
精确地表示or
。
来自bash手册在case
:
case 命令的语法为:
case word in [ [(] pattern [| pattern]…) command-list ;;]… esac
'|'用于分隔多个模式,“)”运算符终止一个模式列表。