Bash脚本(Linux)

Bash脚本(Linux),linux,bash,Linux,Bash,我必须向我的用户发送一条小消息: 问候语应根据一天中的时间显示“早上好、下午好、晚上好” 我的代码(和时间相关)并没有完全正常工作,因为它总是显示“晚上好”,我没有发现任何明显的错误吗 echo "please enter a username:" read username username=$(getent passwd "$USER" |cut -d ':' -f 5 | ',' -f 1) echo "Welcome $username" | cat >> output.

我必须向我的用户发送一条小消息: 问候语应根据一天中的时间显示“早上好、下午好、晚上好”

我的代码(和时间相关)并没有完全正常工作,因为它总是显示“晚上好”,我没有发现任何明显的错误吗

echo "please enter a username:" 
read username

username=$(getent passwd "$USER" |cut -d ':' -f 5 | ',' -f 1)
echo "Welcome $username" | cat >> output.txt

current_data_time = "'date +%Y%m%d%H%M%S'";
echo $current_data_time;

TIME=$(date +H")
hours= date +"%H | sed -e 's/^0/g'

if [ $TIME -lt 12 ]; then
echo "Good morning $username"
elif [ $TIME -lt 18 ]]; then
echo "Good afternoon $username"
else
echo "Good evening $username"
fi
只是为了好玩

hope=(morning{,} afternoon evening)
printf -v hrclass "%(%H)T/6" -1

read -p 'Please, enter your username: ' userinput
IFS=: read -r user pass uid gid name home shell < <(getent passwd $userinput)

if [ "$user" ] && [ "$user" = "$userinput" ]; then
    echo Good ${hope[hrclass]} ${name//,}
else
    echo "Unknown user:" $userinput
fi
hope=(上午{,}下午-晚上)
printf-v hrclass“%(%H)T/6”-1
请输入您的用户名:“userinput”

IFS=:read-r user pass uid gid name home shellgetent passwd“$user“
…首先尝试运行脚本,查看出现的错误,然后修复它们。有几个地方的脚本包含一个明显的打字错误的东西,你已经在脚本的其他地方使用。请参阅和。StackOverflow问题应该集中在一个单一的、特定的问题上,并删除与该问题无关的任何内容。在这里,你有一大堆与出错无关的代码,问题中根本没有对出错原因的描述。顺便说一句,这个练习是从哪里来的?你也可以练习在询问代码之前解决任何问题。