7

我有一个小 Bash 脚本,它会在给定的分钟数后挂起计算机。但是,我想延长它以告诉我暂停的时间是什么,这样我就可以大致了解我还剩下多长时间可以这么说。

#!/bin/sh
let SECS=$1*60
echo "Sleeping for" $1 "minutes, which is" $SECS "seconds."
sleep $SECS &&
pm-suspend

脚本的唯一参数是从现在起计算机应该暂停多少分钟。我想添加到这个脚本中的基本上是echo一句谚语,例如“睡到 HH:nn:ss!”。有任何想法吗?

4

3 回答 3

10

发现如何。

echo "The computer will be suspended at" $(date --date "now $1 minutes")
于 2009-06-09T01:41:05.780 回答
1

在 BSD 派生的系统上,您可以使用

date -r $(( $(date "+%s") + $1 * 60 ))

即以秒为单位获取当前日期,加上分钟数,并将其反馈回日期。
是的,它稍微不那么优雅。

于 2009-11-01T19:01:39.127 回答
1

在 Linux 上

SECS=`date "+$s"`
SECS=$(( SECS + $1 * 60 ))
date --date $SECS
于 2013-07-24T03:29:00.487 回答