当前位置: 首页 > 知识库问答 >
问题:

在bash脚本中创建时间戳变量

班宏毅
2023-03-14

我试图在shell脚本中创建一个时间戳变量,以使日志记录更加容易。我希望在脚本的开头创建变量,并让它在发出echo$timestamp时打印出当前时间。事实证明,这比我想象的要困难得多。以下是我尝试过的一些事情:

我尝试过的其他东西只是轻微的变化,没有更好的效果。有人知道如何完成我想做的事吗?

共有1个答案

车子平
2023-03-14

为了获得当前时间戳而不是定义固定变量的时间,诀窍是使用函数而不是变量:

#!/bin/bash

# Define a timestamp function
timestamp() {
  date +"%T" # current time
}

# do something...
timestamp # print timestamp
# do something else...
timestamp # print another timestamp
# continue...

如果您不喜欢%t说明符所给出的格式,可以组合date所接受的其他时间转换说明符。对于GNUdate,您可以在以下官方文档中找到这些说明符的完整列表:https://www.GNU.org/software/coreutils/manual/html_node/time-conversion-specifiers.html#time-conversion-specifiers

 类似资料:
  • 问题内容: 我正在寻找编写一个小的bash脚本,以便在启动时监视任何新创建文件的目录。如果出现新文件,我希望它的存在触发第二个脚本运行。 我看到它被用来触发压缩最近数字化的视频,并将其添加到摄取素材的日志中。 目前,我的代码如下所示: 有没有更简单/更清洁/更少内存的方式来做到这一点? 编辑 我将在每个捕获会话中更改提取目录。我已经相应地调整了代码 问题答案: Incron 怎么样?它在文件/目录

  • 问题内容: 我需要在Java中创建一个时间戳(以毫秒为单位),以确保在特定的VM实例中是唯一的。即需要某种方式来限制System.currentTimeMillis()的吞吐量,以便它每毫秒最多返回一个结果。关于如何实施的任何想法? 问题答案: 这样可以使时间尽可能接近当前时间,而不重复。 避免每毫秒限制一个id的一种方法是使用微秒级的时间戳。例如,将currentTimeMS乘以1000。这将允

  • 问题内容: 我正在编写一个脚本来备份数据库。我有以下几行: 我想将stderr分配给一个变量,以便它将向自己发送一封电子邮件,让我知道如果出现问题,会发生什么。我已经找到了将stderr重定向到stdout的解决方案,但是由于stdout已经(通过gzip)发送到文件中,因此我无法做到这一点。如何将stderr分别存储在变量$ result中? 问题答案: 尝试将stderr重定向到stdout并

  • 测验sh包含: 我设置测试。sh至chmod 777 我用两个参数开始脚本: 然后我通过键入以下内容进行测试: 结果: 我做错了什么?

  • 问题内容: 我知道在Java中不设置创建时间戳记是因为Linux没有它,但是有没有办法在Java中设置文件(Windows)的创建时间戳记?我在这里做了一个基本的修改时间戳编辑器。 问题答案: 我相信您有以下选择: 查找可以执行此操作并且可以从命令行调用的工具。然后,您可以通过Java代码与之交互。 以下来自MSDN File Times的链接显示了任何工具的工作方式-特别注意功能和。 在这里,我

  • 在firebase文档中,它说我可以从以下代码片段firebase.database.servervalue.timestamp中获得服务器时间戳值 我如何为Swift 3写这个?