+ -
当前位置:首页 → 问答吧 → shell 判断参数传入位数问题

shell 判断参数传入位数问题

时间:2011-03-04

来源:互联网

#!/bin/ksh +x
ss=$1
if [ ${#($ss)} -eq 6 ];then
        echo ok
else
        echo YYYYMM
fi


我就想判断传入参数的位数。 请指教。

作者: vincent_k   发布时间: 2011-03-04

回复 vincent_k


    不会,等高手


echo "22222"|awk '{gsub(/./,"& ")}END{print NF}'
5

作者: wtuter   发布时间: 2011-03-04

if [ $# -eq 6 ]

作者: yinyuemi   发布时间: 2011-03-04

我要判断的是 201010  这样6位的日期。不是判断传入参数个数

作者: vincent_k   发布时间: 2011-03-04



QUOTE:
回复  vincent_k


    不会,等高手


echo "22222"|awk '{gsub(/./,"& ")}END{print NF}'
5
wtuter 发表于 2011-03-04 16:20




    这个确实能。不过我不明白你这个的意思。

作者: vincent_k   发布时间: 2011-03-04

本帖最后由 yinyuemi 于 2011-03-04 16:36 编辑

if [ ${#ss} -eq 6 ]

看看十三问吧

作者: yinyuemi   发布时间: 2011-03-04



QUOTE:
#!/bin/ksh +x
ss=$1
if [ ${#($ss)} -eq 6 ];then
        echo ok
else
        echo YYYYMM
fi

...
vincent_k 发表于 2011-03-04 16:08



if [ ${#($ss)} -eq 6 ];then
改成
if [ ${#ss} -eq 6 ];then

作者: jason680   发布时间: 2011-03-04

解决echo “$str”|awk '{print length($0)}'

作者: vincent_k   发布时间: 2011-03-04



QUOTE:
if [ ${#ss} -eq 6 ]

看看十三问吧
yinyuemi 发表于 2011-03-04 16:34




    好的谢谢~

作者: vincent_k   发布时间: 2011-03-04

热门下载

更多