我使用以下脚本将动态日期回显到文件中;
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"
答案 0 :(得分:1)
您的输出中有一个美元符号,因为您的日期格式中包含一个美元符号。
purgedate=$(date +"$%m/%d/%Y %r" --date='6 month ago')
^
删除它,它将不再存在。 : - )
我应该指出,您使用的日期格式已经过时且不精确。对于任何新的开发,你应该考虑自1988年以来一直存在的ISO 8601,它是表示日期的标准方式。
它甚至可能为你提供缩短事物的机会;在大多数环境中,'+%Y-%m-%d'
可以替换为'+%F'
。
答案 1 :(得分:0)
您不小心在字符串中添加了“$”:“ $ %m /%d /%Y%r”。
通过删除它,它可以工作:
purgedate=$(date +"%m/%d/%Y %r" --date='6 month ago')
echo "6 months ago was" \"$purgedate\" > myFile.txt