如何在带有时间戳的脚本中指定文件?

时间:2018-08-23 18:51:40

标签: linux bash scripting timestamp command

我在Google上搜索,没有地方可以找到任何有关我的问题的帮助或相关信息...

如何指定刚在bash脚本中添加时间戳的文件?非常感谢您的宝贵时间。

基本示例:

  #!/bin/sh
  touch $(date +'%Y-%m-%d_%H-%M-%S').log
  program --start --output /home/user/.logs/the_above_timestamped_file.log

精确示例:

下面的代码是无法正常工作的bash脚本,程序无法成功写入带有时间戳的日志文件,或者程序找不到带有时间戳的日志文件?也许它不知道要写入哪个文件,因为带有时间戳的文件是日志目录中许多文件之一。希望我知道如何解决这个问题...

  #!/bin/sh
  # start the logkeys service
  # create a timestamped file
  # append key logging to that file

  LOG_FILE_NAME=$(date +'%Y-%m-%d_%H-%M-%S')_key.log
  touch "/mnt/WDRED6TBHDD/text/keylog/$LOG_FILE_NAME"
  sudo logkeys --start --output "/mnt/WDRED6TBHDD/text/keylog/$LOG_FILE_NAME"

1 个答案:

答案 0 :(得分:2)

使用日期字符串创建一个变量,然后重复使用。

#!/bin/sh
DATE_STR=$(date +'%Y-%m-%d_%H-%M-%S')
touch "$DATE_STR.log"
program --start --output "/home/user/.logs/$DATE_STR.log"

或整个文件名。

#!/bin/sh
LOG_FILE_NAME=$(date +'%Y-%m-%d_%H-%M-%S').log
touch "$LOG_FILE_NAME"
program --start --output "/home/user/.logs/$LOG_FILE_NAME"