我正在使用'tee'命令将我的shell程序的日志重定向到一个文件中.
我的要求是使用文件名附加当前日期和时间.
sh sample.sh | tee logfile_$date.txt #sample command
Run Code Online (Sandbox Code Playgroud)
输出日志文件:
logfile_2013-08-22-14.txt #yyyy-mm-dd-hh format
Run Code Online (Sandbox Code Playgroud)
我怎样才能实现它?
由于date '+%Y-%m-%d-%H'返回类型的日期2013-08-21-10(年 - 月 - 日 - 小时),您可以使用以下内容:
sh sample.sh | tee logfile_$(date '+%Y-%m-%d-%H').txt
Run Code Online (Sandbox Code Playgroud)
例如,让我们打印hello并将其存储在一个文件中:
$ echo "hello" | tee logfile_$(date '+%Y-%m-%d-%H').txt
hello
$ ls logfile_*
logfile_2013-08-21-10.txt
Run Code Online (Sandbox Code Playgroud)
如您所见,logfile_2013-08-21-10.txt在屏幕中出现字符串的同时创建了具有名称的文件.