以前のリビジョンの文書です
BASHでも正規表現を使えるのだけど、入力された文字をチェックしようと思ったら「それはbashでは出来ません。perlやPHPを使いましょうって事になる(--;
なんとか出来ないかいろいろ考えてみた。
入力された文字が英数のみか判定する方法
INPUT_DATA=$1
DATA_LEN=${#INPUT_DATA}
DATA_CHK=${INPUT_DATA//[0-9a-z]/0}
until [ ${DATA_LEN} -eq 0 ];
do
DATA_CHK2=${DATA_CHK2}"0"
DATA_LEN=`expr ${DATA_LEN} - 1`
done
if [ ${DATACHK} = ${DATA_CHK2} ]; then
exit 0
else
exit 1
fi
シェルを実行する時に引数に入力データを渡してやれば、その内容に半角英数以外が含まれていれば戻り値として1を返します。
後はご自由に(^^)