シェルで正規表現を使って引数の値とかチェックしたい。
一度やって忘れてたので記録しておく。
bashさんは正規表現比較方法があるので楽ちん
if [[ "$INPUT" =~ ^[0-9]+$ ]]; then
echo 'number!!';
fi
bashさんかわいいよbashさん
shの場合
基本的にbashは入ってるのでbashでいいと思うんだけど、
お作法的にshで書くことになってるとも思う
もう古い考えな気がしないでもないけど
shはbashのようにできない臭いのでexprでやってたっぽい
if [ `expr "$INPUT" : "^[0-9]*$"` -gt 0 ]; then
echo 'number!!'
fi
exprでマッチしている数を出して0と比較してる。
ただ、どうやらあんまり複雑なことはできないらしく
{min, max}を使うことはできないみたい。
複雑なものに対しては違う方法を探したほうがいいかも。