プロが教えるわが家の防犯対策術!

基本的な質問ですみません。

Bシェルのif条件文で、例えば
「変数"$VAL"の値が"A"でも"B"でも"C"でもなかった場合はエラーを出力してexitさせる」
という処理を行いたいとします。
("A"、"B"、"C"の場合は何もせず)

もっともシンプルな構文はどういったものになるでしょうか?

宜しくお願い致します。

A 回答 (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
    • good
    • 0
この回答へのお礼

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

ご回答ありがとうございます。

お礼日時:2007/12/03 15:53

if [ "${VAL}" != 'A' -a "${VAL}" != 'B' -a "${VAL}" != 'C' ]; then


echo 'ERROR'
fi

とか

case "${VAL}" in
'A') ;;
'B') ;;
'C') ;;
*) echo 'ERROR' ;;
esac

とかいうのはどうでしょうか。
    • good
    • 0
この回答へのお礼

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

ありがとうございます。

お礼日時:2007/12/03 15:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!