我有一个 Bash 脚本,它只能在特定的时间窗口(从午夜到凌晨 00:15)执行。但如果我执行该函数,我会收到[: too many arguments
一条错误消息。我该如何解决?我还是想用 Bash。我正在使用 Ubuntu Server 20.04 LTS。
脚本:
currTime=`date +%H%M`
check_time_to_run() {
tempTime=$1
if [ $tempTime -gt 0 -a $tempTime -lt 015 ]; then
echo "Time is after 0 AM and before 0:10 AM. Restarting Server."
else
echo "Time is not between 0 AM and 0:15 AM. Aborting restart."
exit 1
fi
}
答案1
你可以尝试分解你的陈述:
if [ $tempTime -gt 015 ] && [ $tempTime -lt 0 ]; then
stuff...
fi
或使用双括号来测试表达式的二进制结果:
if [[ $tempTime -gt 015 && $tempTime -lt 0 ]]; then
stuff...
fi