正規表現をbashで正しく使用する方法がありません。このようにしてエラーが発生しました。正規表現検証で何が間違っていますか?正規表現を使用したBashパラメータの検証
#!/bin/bash
if [ ! $# -eq 1 ]; then
echo "Error: wrong parameters"
else
if [ $1 =~ "[a-z]" ]; then
echo "$1: word"
elif [ $1 =~ "[0-9]" ]; then
echo "$1: number"
else
echo "$1: invalid parameter"
fi
fi
このような簡単なチェックのために、 'case'を考えてみましょう。 'case $ 1 in * [!A-Za-z0-9] *)echo invalid ;; * [A-za-z] *)エコーワード; '')echo empty ;; *)エコー番号; esac' – tripleee