Chinaunix

标题: 能否直接得到语句执行结果信息 [打印本页]

作者: xxinganling    时间: 2017-06-15 10:37
标题: 能否直接得到语句执行结果信息
想简单验证一大批**中出生日期部分是否是正确的,错误的提示出来。写成下面的脚本
    for Date in 20020431 19860148 19731217 .......
    do
        case `date -d ${Date} 2>/dev/null` in
            1) echo "**日期错误" ;;
            0) :                     ;;
        esac
    done
没有得到想要的结果。改成
    for Date in 20020431 19860148 19731217 .......
    do
        date -d ${Date} 1>/dev/null 2>/dev/null
        A=`echo "$?"`
        case ${A} in
            1) echo "**日期错误" ;;
            0) :                     ;;
        esac
    done
才得到判断结果。
想请教如何在一个操作中应得到date -d 的(成功或失败)结果信息?谢谢!

作者: 本友会机友会摄友会    时间: 2017-06-15 12:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: ll104567    时间: 2017-06-15 17:25
#!/bin/bash

for Date in 20020431 19860148 19731217
do
        date -d "$Date" &>/dev/null
        [ $? -eq 0 ] && echo "$Date 日期正确" || echo "$Date 日期错误"
done

作者: xxinganling    时间: 2017-06-16 09:13
回复 3# ll104567
谢谢!
[ $? -eq 0 ] 还可以这么用,受教了。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2