• ベストアンサー

if条件の複数指定

基本的な質問ですみません。 Bシェルのif条件文で、例えば 「変数"$VAL"の値が"A"でも"B"でも"C"でもなかった場合はエラーを出力してexitさせる」 という処理を行いたいとします。 ("A"、"B"、"C"の場合は何もせず) もっともシンプルな構文はどういったものになるでしょうか? 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Ceren
  • ベストアンサー率49% (90/183)
回答No.1

if [ "${VAL}" != 'A' -a "${VAL}" != 'B' -a "${VAL}" != 'C' ]; then echo 'ERROR' fi とか case "${VAL}" in 'A') ;; 'B') ;; 'C') ;; *) echo 'ERROR' ;; esac とかいうのはどうでしょうか。

harahachi
質問者

お礼

上の例のような形式が理想です。 動作確認も取れました。 ありがとうございます。

その他の回答 (1)

  • mac_res
  • ベストアンサー率36% (568/1571)
回答No.2

#! /bin/sh if [ x$VAL == x"A" ] ; then exit 0; elif [ x$VAL == x"B" ] ; then exit 0; elif [ x$VAL == x"C" ] ; then exit 0; else echo error; exit 1 ; fi

harahachi
質問者

お礼

すみません、ちょっと説明不足でしたね。 >("A"、"B"、"C"の場合は何もせず) というのはexitすらしない、という意味でした。 ご回答ありがとうございます。

関連するQ&A