2015-06-01 81 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可以分析用戶爲日期輸入的字符串。