誰かがスクリプトで "case ":$PATH:" を明確にできますか?

誰かがスクリプトで "case ":$PATH:" を明確にできますか?

他人に答える質問スクリプトで次のコードを使用することをお勧めします。

case ":$PATH:" in
  *:$HOME/mydir:*) echo it is in the path;;
  *) echo not there ;;
esac

このコードの目的はにあることを確認する$HOME/mydirことですが$PATHこれそしてこれ「含む」よりも正確な「一致」を使用することをお勧めします。

ここで「ケース」はどのように機能しますか?ありがとうございます。

答え1

caseは正確に一致しますが、*「何でも一致」を意味し、大文字と小文字は始まり、終わる*ので、中に含まれるすべての文字列と一致します:$HOME/mydir:。 2 番目のケースは、一致しますが、最初の条件が一致しない場合にのみ該当します。

関連情報