AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1185265
Accepted
DK Bose
DK Bose
Asked: 2019-11-01 06:44:42 +0800 CST2019-11-01 06:44:42 +0800 CST 2019-11-01 06:44:42 +0800 CST

使用 date 命令在此脚本中的“STRING”和“+%s”是什么?

  • 772

我有以下脚本(基于此):

#!/bin/bash

runtime=$(zenity --title "Send notification repeatedly" --entry "Enter the period in minutes like this: nn minutes")

endtime=$(date -ud "$runtime" +%s)

while [[ $(date -u +%s) -le $endtime ]]
do
    notify-send "Hello"
    sleep 10s
done

man date有这个:

   -d, --date=STRING
          display time described by STRING, not 'now'

但我找不到“STRING”的解释。

在 zenity 窗口中输入时,以下所有工作:

  • 1 minute
  • 1 minutes和
  • 1 min

但1 m没有。描述的“字符串”在哪里可以接受?我在 中找不到任何东西man date。

另一件事是目的+%s。它有什么作用?

scripts bash
  • 3 3 个回答
  • 414 Views

3 个回答

  • Voted
  1. Best Answer
    pLumo
    2019-11-01T06:49:43+08:002019-11-01T06:49:43+08:00

    您可以在以下位置找到它man date:

    日期字符串

    这 --date=STRING 是一种大多数自由格式的人类可读日期字符串,例如"Sun, 29 Feb 2004 16:21:42 -0800"or"2004-02-29 16:21:42"或"next Thursday".
    日期字符串可以包含指示日历日期、时间、时区、星期几、相对时间、相对日期和数字的项目。空字符串表示一天的开始。日期字符串格式比这里容易记录的要复杂,但在 info 文档中有完整的描述。

    要了解究竟什么是允许的,什么是不允许的,您可以阅读info 文档。

    因此,运行info date并切换到“日期输入格式”。


    关于+%s看概要:

    date [OPTION]... [+FORMAT]
    

    FORMAT 是大量可能的序列,所以这里只是您需要的一个:

    %s     seconds since 1970-01-01 00:00:00 UTC
    

    这+只是语法的一部分。


    此外,一些很好的阅读: 如何获得有关终端命令的帮助?

    • 2
  2. damadam
    2019-11-01T06:54:31+08:002019-11-01T06:54:31+08:00

    手册页中说的都是:

    日期字符串

    这--date=STRING是一个大多数自由格式的人类可读日期字符串,例如“Sun, 29 Feb 2004 16:21:42 -0800”或“2004-02-29 16:21:42”甚至“下周四”。日期字符串可以包含指示日历日期、时间、时区、星期几、相对时间、相对日期和数字的项目。空字符串表示一天的开始。日期字符串格式比这里容易记录的要复杂,但在 info 文档中有完整的描述。

    这是给出的示例:

    例子

    将自纪元 (1970-01-01 UTC) 以来的秒数转换为日期

    $ date --date='@2147483647'
    

    显示美国西海岸的时间(使用 tzselect(1) 查找 TZ)

    $ TZ='America/Los_Angeles' date
    

    显示美国西海岸下周五上午 9 点的当地时间

    $ date --date='TZ="America/Los_Angeles" 09:00 next Fri'
    

    您还可以在 Internet 上找到该手册页

    • 1
  3. schrodingerscatcuriosity
    2019-11-01T07:07:57+08:002019-11-01T07:07:57+08:00

    从info '(coreutils) date invocation':

    该程序接受以下选项。另请参阅 *note 常用选项::。

    '-d DATESTR' '--date=DATESTR' 显示在 DATESTR 中指定的日期和时间,而不是当前日期和时间。DATESTR 可以是几乎任何常见的格式。它可以包含月份名称、时区、'am'和'pm'、'yesterday'等。例如,'--date="2004-02-27 14:19:13.489392193 +0530"'指定的时刻时间为 2004 年 2 月 27 日下午 2:19:13 之后 489,392,193 纳秒,时区位于 UTC 以东 5 小时 30 分钟。注意:当前输入必须是独立于语言环境的格式。例如,下面的 LC_TIME=C 需要在许多语言环境中打印回正确的日期: date -d "$(LC_TIME=C date)"

    +:_

    如果给定一个以 '+' 开头的参数,则 'date' 以该参数定义的格式打印当前日期和时间(或由 '--date' 选项指定的日期和时间,见下文),即类似于'strftime'函数。除了以 '%' 开头的转换说明符外,格式字符串中的字符将被原样打印。转换说明符如下所述。

    %s:_

    与时间相关的“日期”转换说明符。...

    '%s' 自纪元以来的秒数,即自 1970-01-01 00:00:00 UTC 以来。除非闰秒支持可用,否则闰秒不计算在内。*注意 %s-examples::,例如。这是一个 GNU 扩展。

    • 1

相关问题

  • 如何每 5 秒运行一次脚本?

  • 如何将必须从其自己的目录中运行的程序添加到面板或主菜单?

  • 如何编写 shell 脚本来安装应用程序列表?

  • Mac OS X Automator 的替代品?

  • 备份 bash 脚本未压缩其 tarball

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve