特定の時間(真夜中から午前00時15分まで)にのみ実行できるBashスクリプトがあります。ただし、関数を実行すると[: 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