Linux shell(判断条件语句:获取系统时间)

本文介绍了一个使用Bash编写的脚本,该脚本能够根据系统当前时间的不同,输出相应的问候语。通过解析系统时间,脚本能判断当前是早晨、下午还是晚上,并据此输出'Good Morning'、'Good Afternoon'或'Good Night'。文章还详细解释了如何使用'date'命令获取系统时间,并展示了正确的if语句格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash
echo "time now is:"
read hours
if [ $hours -lt 12 ]
then
echo "good morning"
elif [ $hours -ge 12 ] && [ $hours -lt 20 ]
then
echo "good afternoon"
else
echo "good night"
fi

调用系统时后:

#!/bin/bash
echo "time now is:"
echo `date`
#read hours
hours=`date +%H`
echo "hours $hours"
if [ $hours -lt 12 ]
then
echo "good morning"
elif [ $hours -ge 12 ] && [ $hours -lt 20 ]
then
echo "good afternoon"
else
echo "good night"
fi
 

这里注意的地方是

等号两边不要空格,要紧贴着。

获取系统时间之当前小时的语句是

hours=`date +%H`

如果想系统时间按格式显示,则可改为

 

echo `date +"%Y-%m-%d-%H:%M:%S"`

运行结果为:

这里需要注意的是:不同的大小写代表的是不同的含义

  • date +%Y 以四位数字格式打印年份 eg: 2018
  • date +%y 以二位数字格式打印年份 eg: 18
  • date +%m 月份
  • date +%d 日期
  • date +%H 小时
  • date +%M 分钟
  • date +%S 秒
  • date +%w 星期,如果结果显示0,则表示周日

此外,if语句的格式一定要正确,否则会报错:

if语句格式一

´if  条件表达式1

´then

´   命令1

´elif  条件表达式2

´then

´   命令2

´……

´else

´   命令n

fi

if语句格式二

´if  条件表达式

´then

´命令1

´[else

´  命令2]

fi

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值