当前位置: 技术问答>linux和unix
有一个SHELL不会写,能帮忙下吗
来源: 互联网 发布时间:2016-04-18
本文导语: 我有个SHELL,要运行 要求是不输入参数的话,使用默认的参数进行运行 要是输入参数的话,要用使用的参数来进行运行 参数是日期 比如是200810 在程序中的是日期参数名是 beforday 程序名为aaa.sh if test $# -eq 0 then do_...
我有个SHELL,要运行
要求是不输入参数的话,使用默认的参数进行运行
要是输入参数的话,要用使用的参数来进行运行
参数是日期 比如是200810
在程序中的是日期参数名是 beforday
程序名为aaa.sh
if test $# -eq 0
then
do_qq ${beforday}
elif test $# -eq 1 -a $1 如何匹配 200***(200810)
then
do_qq ${1}
else
echo 'use ksh aaa.sh 200801 format'
fi
谢谢了 .真的没分了....才3分....55555555
要求是不输入参数的话,使用默认的参数进行运行
要是输入参数的话,要用使用的参数来进行运行
参数是日期 比如是200810
在程序中的是日期参数名是 beforday
程序名为aaa.sh
if test $# -eq 0
then
do_qq ${beforday}
elif test $# -eq 1 -a $1 如何匹配 200***(200810)
then
do_qq ${1}
else
echo 'use ksh aaa.sh 200801 format'
fi
谢谢了 .真的没分了....才3分....55555555
|
其中的do_qq是我自己写的测试函数,其他你参考一下
if [ $# -eq 1 ];then
beforday=$1;
else
beforday=200810; ## 你的默认日期
fi
do_qq()
{
echo "qq=$1";
}
valid=`echo $beforday | awk '
{
len=length($1);
if (len != 6)
{
printf("0");
}
else
{
month=strtonum(substr($1, 5, 2));
if (month 12)
printf("0");
else
{
printf("1");
}
}
}
'`
if [ "$valid" -eq 1 ];then
do_qq ${beforday}
fi
if [ $# -eq 1 ];then
beforday=$1;
else
beforday=200810; ## 你的默认日期
fi
do_qq()
{
echo "qq=$1";
}
valid=`echo $beforday | awk '
{
len=length($1);
if (len != 6)
{
printf("0");
}
else
{
month=strtonum(substr($1, 5, 2));
if (month 12)
printf("0");
else
{
printf("1");
}
}
}
'`
if [ "$valid" -eq 1 ];then
do_qq ${beforday}
fi