成立这arch wiki 上的示例
#!/bin/sh
case $1/$2 in
pre/*)
echo "Going to $2..."
;;
post/*)
echo "Waking up from $2..."
;;
esac
并且无法判断它是逻辑运算符还是其他运算符。
答案1
这里没有什么特别的。的语法case
是
case word in [ [(] pattern [ | pattern ] ... ) list ;; ] ... esac
在问题中的例子中,是由,和word
组合构成的。根本没有特殊含义,它只是一个字符。$1
/
$2
/
PS:实际上,用法有点奇怪,因为$2
后面的部分是匹配的,*
所以 的值$2
并不重要。在 Wiki 中描述的上下文中,人们还可以写
#!/bin/sh
case $1 in
pre)
echo "Going to $2..."
;;
post)
echo "Waking up from $2..."
;;
esac
suspend
但在某些情况下, 、hibernate
或hybrid
( 的可能值)可能是$2
相关的,因此这里只是一般模式。