2015-06-01 79 views
-1

我想接受日期作为输入dd-mm-yyyy格式作为用户输入(通过读取),然后将其转换为shell脚本中的日期对象。我怎样才能做到这一点。 我已经成功与yyyy-mm-dd,但不知何故,它不适用于我的使用情况。接受日期作为用户在bash脚本中的输入

这是我的脚本: -

#!/bin/bash 
read -p "Enter a date (dd-mm-yyyy): " user_date 
if date=$(date -d "$user_date" +'+%d-%m-%Y'); then 
    # user date was ok 
    echo $date 

这是我输入: -

./2.sh 
Enter a date (dd-mm-yyyy): 11-1-2011 

错误:

date: invalid date `11-1-2011' 

感谢

+0

为什么错误是什么? – ZdaR

+0

这是'bash'脚本,而不是'python' – sirfz

+0

@ZdaR。我已更新我的问题,错误消息 –

回答

0

比较两个字符串(有没有日期对象,只有s输入date命令的输出),则需要使用[或最好使用条件语句[[ ... ]]

if [[ $user_date = $(date -d "$user_date" +'+%d-%m-%Y') ]]; then 

当然,也不能保证date可以分析用户为日期输入的字符串。