id = s001の場合は実行

id = s001の場合は実行

私の変数にはid各トピックの名前が削除されました。各項目に特定のコマンドがあるので、次のように言いたいと思います。

if [[$id = s001]]; then do something. End

if [[$id = "s002"]]; then do something else. End

など。

正しいアプローチは何ですか?ありがとう

ベストアンサー1

この問題を解決する一般的な方法は、case宣言を使用することです。

case $id in
  (s001) do something 
         ;;
  (s002) do something else
         do something additional 
         ;;
  (s003) do something else entirely
         ;;
  (*)    do something unexpected 
         ;;
esac

強化するいくつかの構文は次のとおりです。

  • 私は開くかっこと閉じ括弧にオプションを入れるのが好きです。括弧を閉じることは必須ですが、視覚的なバランスを好みます。
  • リストされているオプションの中に一致するオプションがない場合特定のコマンドを実行したい場合、この(*)オプションは包括的です。
  • オプションに一致する各コマンドは;;;で終わる必要があります。セクションを終了するあまり一般的ではないオプションもあります。私はまた、;;セクションが適切に終了したかどうかを簡単に知ることができるように、別々の行に「を置く」傾向があります。

おすすめ記事