Linux 如何在echo中传递较旧的日期?
我使用下面的脚本将动态日期回显到文件中Linux 如何在echo中传递较旧的日期?,linux,unix,echo,Linux,Unix,Echo,我使用下面的脚本将动态日期回显到文件中 purgedate=$(date +"$%m/%d/%Y %r" --date='6 month ago') echo "6 months ago was" \"$purgedate\" > myFile.txt 我得到的结果是: 6 months ago was "$12/05/2016 12:20:11 AM" 如果在日期之前没有“$”符号,如何回音? 我想要以下输出,日期前不带“$” 6 months ago was "12/05/201
purgedate=$(date +"$%m/%d/%Y %r" --date='6 month ago')
echo "6 months ago was" \"$purgedate\" > myFile.txt
我得到的结果是:
6 months ago was "$12/05/2016 12:20:11 AM"
如果在日期之前没有“$”符号,如何回音?
我想要以下输出,日期前不带“$”
6 months ago was "12/05/2016 12:20:11 AM"
您不小心在字符串中添加了“$”:“$%m/%d/%Y%r” 通过移除它,它可以工作:
purgedate=$(date +"%m/%d/%Y %r" --date='6 month ago')
echo "6 months ago was" \"$purgedate\" > myFile.txt
您在输出中得到了一个美元符号,因为您在日期格式中包含了一个美元符号
purgedate=$(date +"$%m/%d/%Y %r" --date='6 month ago')
^
移除它,它将不再存在。:-)
我应该指出,您使用的日期格式已经过时且不精确。对于任何新的开发,您应该考虑自1988年以来就存在的,并且是表示日期的标准方式
它甚至可能给你机会缩短事情,太<在大多数环境中,代码>'+%Y-%m-%d'可以替换为'+%F'
。purgedate=$(日期+%m/%d/%Y%r”--日期为6个月前)