If文で数学演算を実行する方法

If文で数学演算を実行する方法

特定の時間(真夜中から午前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

おすすめ記事