gpt4 book ai didi

linux - Shell 脚本需要整数表达式

转载 作者:太空宇宙 更新时间:2023-11-04 05:42:09 29 4
gpt4 key购买 nike

我正在尝试在 bash 中运行以下脚本

#greetings
set `date`
if [ "$4" -lt 12 ]
then
echo "Good Morning"
elif [ "$4" -lt 18 ]
echo "Good Afternoon"
else
echo "Good evening"
fi
exit

我不断收到错误 ./greetings: line 3: [: 06:19:20: integer expression Expected

我应该做什么?

最佳答案

如果您尝试在脚本的开头echo $4,您将得到以下格式的结果:

%H:%M:%S

例如,

$ date
16:41:22

该结果无法解析为整数。

一种解决方案是仅设置小时而不是整个日期,并使用 $1 (而不是 $4):

# greetings
set `date +%H`
if [ "$1" -lt 12 ]
then
echo "Good Morning"
elif [ "$1" -lt 18 ]
then
echo "Good Afternoon"
else
echo "Good evening"
fi
exit

另外,请注意,elif 之后缺少 then 关键字。

关于linux - Shell 脚本需要整数表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49718358/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com