有时,在文件名中包含当前日期或时间戳信息很有用,特别是当定期生成文件(例如每月/每天/每小时)用于备份、日志记录和其他归档目的时。以下是如何在 shell 脚本中格式化当前日期和时间,并将格式化字符串附加到文件名。
一个名为 date 的 Linux 命令行工具允许您根据需要设置当前时间显示的格式。所以你可以在 shell 脚本中使用这个命令。 date命令的语法如下所示。
$ date +"FORMAT"要将当前时间包含在秒精度中:
now=$(date +"%Y-%m-%d-%S")filename="my_program.$now.log"# example filename: my_program.2012-01-23-47.log要包含纳秒精度的当前时间戳:
now=$(date +"%Y.%m.%d.%S.%N")filename="my_program.$now.log"# example filename: my_program.2013.01.23.44.364617000.log要在纪元中包含当前时间戳(即自 1970 年 1 月 1 日以来经过的秒数):
now=$(date +"%s")filename="my_program.$now.log"# example filename: my_program.1358995092.log如果您觉得本教程有帮助,我建议您查看 linux-console.net 提供的一系列 bash shell 脚本教程。