linux shell编程中怎么判断时间相等

编写shell程序sh.1,完成向用户输出“你好!”的问候语。并根据实验的时间,分别给出:“上午好!”或者“下午”,或“晚上”好的问候。#!/bin/shecho"hel... 编写shell程序sh.1, 完成向用户输出“你好!”的问候语。并根据实验的时间,分别给出:“上午好!”或者“下午”,或“晚上”好的问候。

#!/bin/sh

echo "hello."

set $(date)

if [ "$4" < "12" ]; then
echo "Good Moring!"
elif [ "$4" < "18" ]; then
echo "Good afternoon!"
else
echo "Good evening!"
fi

exit 0

上面if语句里的判断条件,怎么写?
展开
 我来答
linu0001
2021-08-09 · TA获得超过438个赞
知道小有建树答主
回答量:847
采纳率:100%
帮助的人:35.4万
展开全部

#!/bin/bash#格式化过期日期,格式化过期日期完整时间以当前时间作为参考!expday="2018-04-11 `date +%T`"echo "Expire day is $expday"#当前日期时间格式为stamp时间戳todays=`date +%s`echo "Today is $(date +"%F %T")"#以下2种方式做时间的四则运算,分别使用 let 或者 $(( ))#过期日期已格式化,规避整数运算的误差(去余数)#let dayDiff=($(date -d "$expday" +%s)-$todays)/86400dayDiff=$(( ($(date -d "$expday" +%s)-$todays)/86400 ))echo "Diff day is $dayDiff days!"

其余说明:
bash 不支持浮点运算,如果需要进行浮点运算,需要借助bc,awk 处理。Linux命令需求的话可如下图进行查询

小米飞猫
推荐于2017-09-05 · 专注于IT监控领域技术
小米飞猫
采纳数:1651 获赞数:4811

向TA提问 私信TA
展开全部
#!/bin/bash
echo "hello!"
T=$(date +%H)
if [ "$T" -lt "12" ];then
echo "Good moring!"
elif [ "$T" -lt "18" ];then
echo "Good afternoon!"
else
echo "Good evening!"
fi
exit 0
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lottolotto
2012-03-13 · TA获得超过725个赞
知道小有建树答主
回答量:737
采纳率:0%
帮助的人:270万
展开全部
#!/bin/sh
hour=`date +%H`
if [ $hour -lt 12 ] && [ $hour -gt 0 ]
then
echo "goodmorning"
fi
if [ $hour -lt 18 ] && [ $hour -gt 12 ]
then
echo "goodafternoon"
fi
if [ $hour -gt 18 ]
then
echo "goodevening"
fi
追问
不好意思啊,1楼已经给出答案了,仍要谢谢您。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式