我是 shell 脚本的新手。
我想编写一个 shell 脚本以 yyyy-mm-dd
格式从终端获取用户日期,并使用该日期作为开始日期以获取特定日期在 svn 存储库中所做的修订更改范围。
我的脚本是:
echo "Date"
echo "Enter year"
read Y
echo "Enter month"
read M
echo "Enter Date"
read D
D1=`expr $D + 3`
svn log -r {$Y-$M-$D}:{$Y-$M-$D1} http://svn.abc.com/svn/trunk.
这是我写的脚本。
我知道我不应该单独使用日期函数 Y M D。
而且我想只列出修订号而不是 svn log 命令显示的完整日志消息。
最佳答案
我会使用 date
实用程序进行验证:
while true; do
read -p "Enter a date (YYYY-mm-dd): " user_date
if date=$(date -d "$user_date" +%F); then
# user date was ok
break
fi
done
date3=$(date -d "$date + 3 days" +%F)
svn log -r "$date:$date3" ...
您确实需要使用 date
,尤其是添加 3 天:您不想以“2014-02-30”结尾
关于linux - 如何在 linux 中读取用户日期并在 svn 日志中使用该日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20905837/