プロが教える店舗&オフィスのセキュリティ対策術

Linuxのbash環境下です。

次の要件も満たすように、添付画像のシェルスクリプトの修正をお願いします。

【要件】
次の①~②の場合、エラーメッセージを表示する。
①引数に自然数ではない値を使用するする場合。
if echo $1 | grep [^0-9] > /dev/nul
then
echo MISS not num $1
else
if ! echo $1 | grep [^0]
then
echo "<$1>" is zero
else
echo "<$1>"is num
fi
fi

②引数に何も入力しない/引数に2つ以上、入力した場合。
if [ $# -ne 2]; then
if [ $# -eq 0 ]; then
echo 引数がありません
else
echo 引数は2個指定してください
fi
exit 1
fi

「Linuxのbash環境下です。」の質問画像

A 回答 (1件)

質問は何ですか?

    • good
    • 0
この回答へのお礼

if ! [[ "$1" =~ ^[0-9]+$ ]]; then
echo "aaaa'

「^[0-9]+$」で2文字以上の数字だけの文字列のイメージです。

①なぜ、[[]]と2回カッコを使っているのでしょうか。
②~ は何を意味しているのでしょうか。

お礼日時:2022/11/27 16:17

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