我正在编写一个ksh脚本来刷新从prod到dev / test / qa环境的模式。我想进行灾难检查,我要求用户输入源和目标数据库以及模式名称。当用户意外输入prod数据库作为目标数据库名称时,我希望脚本退出。在我们的环境中,生产数据库名称以p结尾,后跟01,02,03等。
示例名称:
DBP DBPP dbpp01 dbpp02 cdp01 sedpbp retpp01 PORP01 PORPP01
如何检查最后一个字母不是我的变量字符串的数字是p还是P?。
答案 0 :(得分:0)
尝试以下方法:
SCHEMA=dbp
case $SCHEMA in
*[pP] | *[pP]0[0-9] ) echo OK
;;
* ) echo Error
;;
esac
答案 1 :(得分:0)
我添加了另一个检查,检查源数据库名称和目标数据库名称是否相同。
案例“$ tarSID”in * [pP] | * [pP] 0 [0-9] | “$ tarSID”= “SsrcSID”) echo“警告:目标数据库无法生成或与Prod相同” echo“重新输入目标数据库名称 ;; *) ;;
再次感谢Alvin