shell自定义函数以及getopts的使用

#!/usr/bin/sh

function usage()
{
	echo "usage: `basename $0` options [table-list]"
	echo "options:"
	echo "  -d database data path"
}

DATA_PATH=./data/
err_flg=0

while getopts ":d:" optname
do
	case $optname in
	"d")
		DATA_PATH=$OPTARG
		;;
	":")
		err_flg=1
		err_msg="no argument value for option $OPTARG"
		;;
	*)
		err_flg=1
		err_msg="unexpected option(s)"
		;;
	esac
done

if [ $err_flg -eq 1 ]
then
	echo $err_msg
	usage
	exit 1
fi

LIST_FILE=1_tables.lst
if [ ! -f ${LIST_FILE} ] ; then
	echo "ERROR:文件${LIST_FILE}丢失,导入终止"
	exit -1
fi

db2 connect to testdb1 user db2inst1 using db2inst1

if [ $? -ne 0 ];then
	echo "ERROR:数据库连接失败,请检查数据库名,数据库用户及密码"
	exit -1
fi

while read T_NAME
do
	if [ ! -f ${DATA_PATH}/${T_NAME}.del ]; then
		echo "ERROR:表${T_NAME}的数据文件不存在"
		continue;
	fi

	echo "import ${T_NAME}..."
	db2 "import from ${DATA_PATH}/${T_NAME}.del of del modified by delprioritychar replace into ${T_NAME}" 
	if [ $? -eq 0 ];then
		echo "INFO:导入${T_NAME}成功"
	else
		echo "ERROR:导入${T_NAME}失败"
	fi
	
done < ${LIST_FILE}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值