- PR -

シェルスクリプトで正規表現

1
投稿者投稿内容
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2003-06-04 16:02
お世話になります。作成したシェルスクリプトに渡すパラメータの入力チェックを行いたいと思います。Redhat8.0を使用しております。

#vi test1.sh
#!/bin/sh
if [ $1 = [*/*] ] (←「スラッシュを一つでも見つけたら」のつもり(笑))
then
echo "フルパスでは指定しないでください!!"
fi
#./test1.sh /home/okumura/sample.txt
フルパスでは指定しないでくださ!!

パラメータにスラッシュを見つけたらエラーを出したくて、if文の中で正規表現を使おうと思ったのですが、書き方がわかりませんでした。。ご教授願います。
また、他の色々な案をお待ちしております。
佐々木
大ベテラン
会議室デビュー日: 2003/03/30
投稿数: 121
投稿日時: 2003-06-04 16:55
簡単なのは、

echo $1 | grep -q /
if [ $? = 0 ]
then
 マッチしたときの処理
fi

って感じでしょうか。
こつぶ
常連さん
会議室デビュー日: 2002/11/11
投稿数: 47
投稿日時: 2003-06-04 17:07
こんにちは。

>echo "フルパスでは指定しないでください!!"

と言うのであれば

#!/bin/sh

chk=`echo $1 | awk -F/ '{print $1}'`

if [ $chk="" ] ; then

処理

fi

というのもありかと。

#長くなってしまいますが。
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2003-06-04 18:19
 お世話になります。 アドバイスありがとうございました。
初心者な私には

echo $1 | grep -q /
if [ $? = 0 ]
then
 マッチしたときの処理
fi

が良いかと思います。

サ さま、こつぶ さま。ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)