2016-03-19 14 views
-1

我正在編寫一個ksh腳本來刷新從prod到dev/test/qa環境的架構。我想要進行災難檢查,我要求用戶輸入源和目標數據庫以及模式名稱。當用戶意外輸入prod數據庫作爲目標數據庫名稱時,我希望腳本退出。其次是01在我們的環境中生產數據庫名稱以p結尾有些時候,02,03等ksh - 如果變量中的最後一個字母是p,則退出腳本

示例名稱:

DBP DBPP dbpp01 dbpp02 cdp01 sedpbp retpp01 PORP01 PORPP01

如何檢查我的變量字符串的最後一個字母不是數字是p還是P?

回答

0

嘗試以下操作:

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

Alvin,謝謝你的回答。 – user6027133

+0

對不起,只需要一個小周,但答案是正確的 – user6027133

0

我已經添加了另一項檢查,檢查如果源和目標數據庫的名稱是一樣的好。

case「$ tarSID」in * [pP] | * [pP] 0 [0-9] | 「$ tarSID」 =「SsrcSID」) 回聲「警告:目標數據庫不能正式版或同正式版」 回聲「重新輸入目標數據庫名稱 ;; *) ;;

再次感謝阿爾文

相關問題