Bash 스크립트에서 잘못된 날짜를 확인하세요.

Bash 스크립트에서 잘못된 날짜를 확인하세요.

유효기간을 확인하고 있어요scrpt.bash test 2019-05-03

date -d $2 2>: 1>:; c=$?

1 이면 $c날짜가 유효하지 않습니다. 입력하면 2019-05-03올바른 0이 표시됩니다. 입력하면 2019-05-03u0이 나오며 이는 잘못된 것입니다. 입력하면 2019-05-03uu오류가 발생합니다. 날짜가 유효한지 어떻게 확인할 수 있나요?

답변1

날짜가 항상 "2019-05-03" 형식으로 제공되는 경우 항상 작동할 수 있습니다.

#!/bin/sh -

if [ -n "$2" ] && [ "$(date -d "$2" +%Y-%m-%d 2> /dev/null)" = "$2" ]; then
     echo 'This date is valid'
fi

관련 정보