有人可以澄清:'case ":$PATH:" in' 在脚本中吗?

Jér*_*nge 1 shell-script

另一个问题的答案建议在脚本中使用以下代码:

case ":$PATH:" in
  *:$HOME/mydir:*) echo it is in the path;;
  *) echo not there ;;
esac
Run Code Online (Sandbox Code Playgroud)

这段代码的目的是检查是否$HOME/mydirin $PATH,但是thisthis 中的示例表明精确的“匹配”而不是“包含”。

“案例”在这里如何运作?谢谢。

Mic*_*zek 5

case是精确匹配,但*表示“匹配任何内容”,并且大小写以 a 开头和结尾*,因此它将匹配包含:$HOME/mydir:. 第二种情况将匹配任何内容,但前提是第一个条件不匹配