linux - 如何在刚刚加了时间戳的脚本中指定一个文件?

标签 linux bash scripting timestamp command

我用谷歌搜索了又用谷歌搜索,但我找不到任何帮助或与我的问题相关的帖子...

如何在 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"

最佳答案

用日期字符串创建一个变量并重用它。

#!/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"

关于linux - 如何在刚刚加了时间戳的脚本中指定一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51992502/

相关文章:

linux - 无法使用 Bash 脚本解析文件夹

linux - 将文件复制到备份目录保留文件夹结构

scripting - 在 tcsh 中生成序号列表

.net - 你如何使用 PowerShell?

linux - python urllib3 pip安装错误linux

linux - 使用 gdrive 从 google drive 按名称删除文件夹

linux - 网络中需要原始套接字

php - 继续在远程服务器上使用ssh2_exec显示bash长时间运行的结果

linux - 将 git status 的结果通过管道传递给后续命令

xml - 使用脚本将文本文件转换为 xml