Bash

如何在 If 語句中進行數學運算

  • December 23, 2021

我有一個 Bash 腳本,它應該只在特定的時間視窗(從午夜到 00:15 AM)執行。但是如果我執行該函式,我會收到[: 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
}

您可以嘗試分解您的陳述:

if [ $tempTime -gt 015 ] && [ $tempTime -lt 0 ]; then
 stuff...
fi

或使用雙括號來測試表達式的二進制結果:

if [[ $tempTime -gt 015 && $tempTime -lt 0 ]]; then
 stuff...
fi

引用自:https://unix.stackexchange.com/questions/683665