みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

シェルの引数の入力チェックをしたい・・

シェルは初心者のため、ご教授ください。

3つの引数を受け取り、値のチェックを行いたいのですが書き方がよくわかりません・・。

やりたいチェックは、
第1引数は 数字じゃなければエラー
第2引数は 文字列が "YES" か "NO"でなければエラー
第3引数は 日付のフォーマットチェック(YYYY/MM/DD以外はエラー)
です。よろしくお願いします。

投稿日時 - 2007-04-05 21:43:39

QNo.2897304

すぐに回答ほしいです

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

1)数字以外を削除して元と同じなら数字のみだとわかる

A=`echo "$1" | sed 's/[^0-9]//g'`
if test "$1" = "$A"
then echo 数字だけ
else echo エラー
fi

2)
if test "$2" = YES -o "$2" = NO
then echo YES か NO
else echo エラー
fi

3)
これは難しい。gnu date (Linux等のdate)を前提とすれば出来ます。
A=`date +%Y/%m/%d -d "$3"`
if test "$3" = "$A"
then echo YYYY/MM/DD形式の日付データ
else echo エラー
fi

gnu date が無いと、大の月・小の月・うるう年などを地道に調べる必要あり。

投稿日時 - 2007-04-07 00:38:19

ANo.1

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問