我正在尝试将 stdout 和 stderr 重定向到日志文件。文件名应使用当前时间戳动态创建。
我可以使用以下命令创建文件名:
$ date +%Y-%m-%d_%H-%M-%S.txt
2018-04-10_16-55-55.txt
所以我想做这样的事情:
mycommand &> (date +%Y-%m-%d_%H-%M-%S.txt)
但这不起作用(-bash: syntax error near unexpected token
('`)
我正在尝试将 stdout 和 stderr 重定向到日志文件。文件名应使用当前时间戳动态创建。
我可以使用以下命令创建文件名:
$ date +%Y-%m-%d_%H-%M-%S.txt
2018-04-10_16-55-55.txt
所以我想做这样的事情:
mycommand &> (date +%Y-%m-%d_%H-%M-%S.txt)
但这不起作用(-bash: syntax error near unexpected token
('`)
是的,您需要使用命令替换:
哪个是
bash
-speak for这与
(
%F
与 相同%Y-%m-%d
)命令替换 ,
$(...)
将被内部命令的输出替换。您使用的是子外壳,
(...)
. 子外壳不能接受这样的重定向。尝试这个:
我是 mex1can,我希望它对你的 crontab 有用
你的_shell >>
date “+\%Y\%m\%d”
.log注意-如果您不使用 `(英语口音),它将无法正常工作。
会给你带来YYYYMMDD.log:即20200418.log