產生正確結果的正確表達式是什麼?

產生正確結果的正確表達式是什麼?

該腳本採用 CSV 檔案並對其進行迭代以建立 MD 數組。然後它會取得第三列並比較每個變數以確定它是否大於 64。

以下是使用 -gt MAX_AGE 的腳本圖片 帶有宣告常數 MAX_AGE 的腳本

以下是使用上述腳本的錯誤 在此輸入影像描述

我知道答案可能很簡單...

答案1

-gt用於比較數字,而不是字串。因此,您需要替換:

[ ${ages[i]} -gt MAX_AGE ]

和:

[ ${ages[i]} -gt $MAX_AGE ]

原因是這MAX_AGE是一個字串。您不能將其用作數字。

$MAX_AGE是變數的值MAX_AGE。您可以將其與數字進行比較,只要該值可以解釋為整數即可。

為了在使用時獲得最佳結果[...],變數應該用雙引號引起來:

[ "${ages[i]}" -gt "$MAX_AGE" ]

相關內容