- ベストアンサー
if条件の複数指定
基本的な質問ですみません。 Bシェルのif条件文で、例えば 「変数"$VAL"の値が"A"でも"B"でも"C"でもなかった場合はエラーを出力してexitさせる」 という処理を行いたいとします。 ("A"、"B"、"C"の場合は何もせず) もっともシンプルな構文はどういったものになるでしょうか? 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
if [ "${VAL}" != 'A' -a "${VAL}" != 'B' -a "${VAL}" != 'C' ]; then echo 'ERROR' fi とか case "${VAL}" in 'A') ;; 'B') ;; 'C') ;; *) echo 'ERROR' ;; esac とかいうのはどうでしょうか。
その他の回答 (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
質問者
お礼
すみません、ちょっと説明不足でしたね。 >("A"、"B"、"C"の場合は何もせず) というのはexitすらしない、という意味でした。 ご回答ありがとうございます。
お礼
上の例のような形式が理想です。 動作確認も取れました。 ありがとうございます。