Shell linux重定向程序使用$date变量记录文件名

Shell linux重定向程序使用$date变量记录文件名,shell,redirect,Shell,Redirect,我有一个脚本,其中有一行: ruby /root/backup_scripts/new_scripts/aapxen01.rb>>/volumes/backups/aapxen01/$date.log 2>&1 这会产生一个名为“.log”的日志文件,显然不是我想要的。如何生成当前日期作为文件名?将$date替换为: `date "+%Y-%m-%d"` 请避免使用反引号:$(日期'+%Y-%m-%d')+%Y-%m-%d可以缩短为+%F。请参阅“人工日期”:有人

我有一个脚本,其中有一行:

ruby /root/backup_scripts/new_scripts/aapxen01.rb>>/volumes/backups/aapxen01/$date.log  2>&1
这会产生一个名为“.log”的日志文件,显然不是我想要的。如何生成当前日期作为文件名?

将$date替换为:

`date "+%Y-%m-%d"`

请避免使用反引号:
$(日期'+%Y-%m-%d')

+%Y-%m-%d可以缩短为+%F。请参阅“人工日期”:有人能解释为什么我使用%T或%R时,文件名会以类似0XAFKQ~8.log的奇怪方式结束吗?因为%T(以及类似的%R)会生成类似于
11:22:33
的内容,其中包含
字符<代码>:不能出现在文件名中-请看这里的保留字符部分。有人能解释为什么当我使用%T或%R时,文件名会像0XAFKQ~8.log一样奇怪吗?有人能解释为什么当我使用%T或%R时,文件名会像0XAFKQ~8.log一样奇怪吗?