Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在echo中传递较旧的日期?_Linux_Unix_Echo - Fatal编程技术网

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个月前)