相关疑难解决方法(0)

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

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

timestamp="(date +"%T")" echo打印出来 (date +"%T")

timestamp="$(date +"%T")" echo打印变量初始化的时间.

我尝试过的其他事情只是轻微的变化,没有任何改善.有谁知道如何完成我想要做的事情?

variables bash timestamp

338
推荐指数
14
解决办法
53万
查看次数

将Unix时间戳转换为日期字符串

是否有一种快速的,单行的方式将Unix时间戳转换为Unix命令行中的日期?

date可能会工作,除了指定每个元素(月,日,年,小时等)相当尴尬,我无法弄清楚如何让它正常工作.似乎可能有一种更简单的方法 - 我错过了什么吗?

unix bash shell unix-timestamp

114
推荐指数
5
解决办法
15万
查看次数

Bash:睡到特定的时间/日期

我希望我的bash脚本睡到特定时间.所以,我想要一个像"睡眠"这样的命令,它不需要间隔但是结束时间,直到那时才睡觉.

"at"-daemon不是解决方案,因为我需要阻止正在运行的脚本直到某个日期/时间.

有这样的命令吗?

bash sleep wait

75
推荐指数
8
解决办法
9万
查看次数

time()和gettimeofday()返回不同的秒数

在我测试的两个系统上(一个32位的Ubuntu 12.04服务器和一个64位的Ubuntu 13.10 VM),time()给出的纪元以来的秒数可能与gettimeofday()不同.

具体来说,虽然我在调用time() 调用gettimeofday(),但返回的值time()有时小于tv_sec返回的值gettimeofday().

这显然发生在时钟滚动到新的秒钟之后.

这导致了我的一些代码中的错误,这些代码期望time()和gettimeofday()的秒可以互换.

示例代码演示此问题:

#include <stdio.h>
#include <time.h>
#include <sys/time.h>

int main()
{
  time_t start = time(NULL);
  int same = 0;
  int different = 0;
  int max_usec = 0;
  while (1) {
    time_t t;
    struct timeval tv;
    gettimeofday(&tv, NULL);
    t = time(NULL);
    if (t < tv.tv_sec) {
      different++;
      if (tv.tv_usec > max_usec) {
        max_usec = tv.tv_usec;
      }
    } else { …
Run Code Online (Sandbox Code Playgroud)

c linux time gettimeofday

21
推荐指数
3
解决办法
1万
查看次数

标签 统计

bash ×3

c ×1

gettimeofday ×1

linux ×1

shell ×1

sleep ×1

time ×1

timestamp ×1

unix ×1

unix-timestamp ×1

variables ×1

wait ×1