Ubuntu 的命令行闹钟

Ubuntu 的命令行闹钟

需要软件推荐!我正在寻找一个闹钟,用于我的 Ubuntu 20.04 机器,带有命令行界面,使我能够从命令行设置闹钟。这是因为在我的工作流程中,我经常需要一天设置很多闹钟,通常只间隔大约一个小时。由于我经常这样做,所以一直摆弄 GUI 很麻烦。

我当然尝试过 GNOME 时钟,但它似乎没有命令行界面。

有人能推荐我正在寻找的东西吗?不是太挑剔,只需要它能完成它的工作。

提前致谢 :)

答案1

您可以使用at命令(Ubuntu 20.04 上默认未安装)。它允许您在特定时间执行命令。例如,您可以弹出 Zenity 对话框作为警报。

答案2

您可以使用sleep命令是 Ubuntu 预装的,用于在指定的时间后运行命令:

sleep NUMBER[SUFFIX] && command

man sleep

DESCRIPTION
       Pause for NUMBER seconds.  SUFFIX may be 's' for seconds (the default), 'm'
       for minutes, 'h' for hours or 'd' for days.  Unlike most implementations
       that require NUMBER be an integer, here NUMBER may be an arbitrary floating
       point number.  Given two or more arguments, pause for the amount of time
       specified by the sum of their values.

例如,你可以运行:

sleep 3h 5m 25s && mpv file

3小时5分25秒后file用媒体播放器打开。mpv


sleep运行命令非常方便且简单但是,运行命令时at最好(这并不奇怪)指定的时间。

不过,可以使用 实现类似的行为sleep。下面是示例脚本:

#!/bin/bash
alarm_time=$1
command=$2

# convert alarm_time and current_time to seconds since 1970-01-01 00:00:00 UTC
# and calculate their difference
alarm_time=$(date -d "$alarm_time" +"%s")
current_time=$(date +"%s")
diff=$(( $alarm_time - $current_time ))

# convert the time difference to hours
sleep_time=$(echo "scale=5; $diff/3600" | bc)

# run the command at the specified time
sleep "$sleep_time"h && $command

将其保存为alarm.sh(选择您喜欢的名称)并使其可执行后,您可以按如下方式运行它:

/path/to/alarm.sh time command

如果愿意,您可以将脚本添加到路径中以便于访问,也可以通过替换要运行的$2命令来对要运行的命令进行硬编码。

相关内容