SHELL脚本排坑总结

这两天开发功能,新接触Shell脚本,总结填埋的几个坑。

一、分支语句if判断的写法

#!/bin/ksh

if [ "$1" -eq "a" ]
then
    echo "参数1输入为a"
elif [ "$1" -eq "b" ]
then
    echo "参数1输入为a"
else
    echo "参数1为其他"
fi

二、分支语句case条件语句写法

#!/bin/ksh

case $# in
1)
    echo "传入1个参数"
;;
2)
    echo "传入2个参数"
;;
3)
    echo "传入3个参数"
;;
*)
    echo "传入其余个数参数"
;;
esac

注:无需写break,只会进入符合条件的分支,不会全部执行

三、整理调用传入参数(未知个数)解决方案

如输入命令: test.sh -t tablename -c colname -d value

#!/bin/ksh

TAB_NAME=
COL_NAME=
COL_VALUE=
for i in $@        # $@为所有传入参数数组 
do
    case $1 in     # 传入第一各参数
    "-t")
        shift1     # 数组左移一位,即数组第二位移至第一位
        TAB_NAME=$1
        shift1
    ;;
    "-c")
        shift1
        COL_NAME=$1
        shift1
    ;;
    "-d")
        shift1
        # 判断如果列名对应值不为数字跳出循环
        COL_VALUE=`echo $1|awk '/^[0-9]+$/'`
        if [ -z "$COL_VALUE" ]  # 如果不符合条件为1
        then
            echo "请输入数字"
            exit $File
        fi
        shift1
    ;;
    esac
done

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值