需要软件推荐!我正在寻找一个闹钟,用于我的 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
命令来对要运行的命令进行硬编码。