Я не умею правильно использовать регулярное выражение в bash, я получил ошибку, пытающуюся сделать это таким образом, что не так в этой регулярной проверке?Проверка параметра Bash с использованием regex
#!/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 недействителен ;; * [A-za-z] *) echo word ;; '') echo empty ;; *) номер эха ;; esac' – tripleee