Bash
如何在 If 語句中進行數學運算
我有一個 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