2016-03-19 1 views
-1

私は、プロダクトからdev/test/qa環境にスキーマをリフレッシュするためのkshスクリプトを作成しています。災害チェックをしたいと思っています。ソースとターゲットのデータベースとスキーマ名の入力をユーザーに求めています。ユーザーが誤ってターゲットデータベース名としてprodデータベースを入力すると、スクリプトを終了します。ksh - 変数の最後のアルファベットがpの場合は終了スクリプト

DBP dbpp dbpp01 dbpp02 cdp01 sedpbp retpp01 PORP01 PORPP01

:私たちの環境では、本番データベース名は、いくつかの回は01、02、03など

例名に続くPで終わります

私の変数文字列の番号ではない最後のアルファベットがpかPかどうかを確認する方法はありますか?

答えて

0

は、以下のことを試してみてください。

SCHEMA=dbp 
case $SCHEMA in 
    *[pP] | *[pP]0[0-9]) echo OK 
    ;; 
    *) echo Error 
    ;; 
esac 
+0

アルヴィン、私は答えてくれてありがとう – user6027133

+0

申し訳ありません、少しtweekが必要ですが、答えは正しいです – user6027133

0

私は、ソースとターゲット・データベース名が同様に同じかどうかを確認する別のチェックが追加されました。

ケース "$ tarSID" in * [pP] | * [pP] 0 [0-9] | "$ tarSID" = "SsrcSID") はエコー "警告:ターゲット・データベースは、PRODまたは製品版と同じことができない" エコー「再入力ターゲット・データベース名 を;; *) ;;

おかげで再びアルビン

関連する問題