我是linux环境和shell编程的新手。我试图做一个简单的shell脚本程序,我希望根据系统中的时间显示“早安”下午“晚安”或“晚安”。我也希望使用date
函数执行此操作。
下面是我为完成上述任务而输入的代码。
#!bin/bash
$ say=$(date +%H)
echo "echoo $say"
if [ "$say" -gt 18 ]
then
var="Night"
elif [ "$say" -gt 15 ]
then
var="Evening"
elif [ "$say" -gt 12 ]
then
var="Afternoon"
else
var="Morning"
fi
echo "hello $USER , $var"
我打算在这里做的是将小时部分转换为变量并检查该整数落入的范围,以给出变量morning,night或其他值匹配的变量。 下面是我执行shell脚本时得到的输出
time.sh: line 3: $: command not found
echoo
time.sh: line 8: [: : integer expression expected
time.sh: line 12: [: : integer expression expected
time.sh: line 16: [: : integer expression expected
hello achala , Morning
请帮我解决这个问题。提前完成。
答案 0 :(得分:0)
第一行应该是:say = $(date" +%H")
试试这个:
#!bin/bash
say=$(date "+%H")
echo "echoo $say"
if [ "$say" -gt 18 ]
then
var="Night"
elif [ "$say" -gt 15 ]
then
var="Evening"
elif [ "$say" -gt 12 ]
then
var="Afternoon"
else
var="Morning"
fi
echo "hello $USER , $var"