FreeBSD初心者運用日記 このページをアンテナに追加

 | 

2007-07-28シェルスクリプトのif文で正規表現を使う

[]シェルスクリプトのif文で正規表現を使う方法 01:53 シェルスクリプトのif文で正規表現を使う方法 - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - シェルスクリプトのif文で正規表現を使う方法 - FreeBSD初心者運用日記 シェルスクリプトのif文で正規表現を使う方法 - FreeBSD初心者運用日記 のブックマークコメント

  • サンプルコードその1
server=$1
if expr "$server" : ".*google.jp" >/dev/null; then
    echo "match"
else
    echo "no match"
fi
  • サンプルコードその2
#!/bin/sh
sudo_version=`sudo -V`
if expr "$sudo_version" : "^Sudo version [0-9]\{1,2\}\.[0-9]\{1,2\}\.[0-9]\{1,2\}p[0-9]\{1,2\}" > /dev/null; then
    echo "match"
else
    echo "no match"
fi

正規表現でなくてもワイルドカードで事足りる場合、case分を使うこともできる。

server=$1
case $server in
    *.google.com|*.google.jp)
        RESULT="GOOGLE"
        ;;
    *.yahoo.co.jp)
        RESULT="YAHOO"
        ;;
    *)
        RESULT="NULL"
        ;;
esac
echo "RESULT=$RESULT"

とか

server=$1
case $num in
    [1-9])
        RESULT="hoge"
        ;;
    *)
        RESULT="foo"
        ;;
esac
echo "RESULT=$RESULT"

なんてこともできる。

 |