[問題] If condition怎麼寫怎麼錯已刪文

看板Linux作者 (AL)時間5年前 (2019/03/22 11:23), 5年前編輯推噓1(101)
留言2則, 2人參與, 5年前最新討論串1/1
我想檢驗記憶體剩下多少 所以想利用if做判斷 以下為程式碼 ----------- !/bin/bash mem=$(free -h | awk '{print $6}' | sed 's/G//g' | grep "[0-9]") warm=10 echo $mem if [ ${mem}-gt{$warm} ] ;then echo "$mem is greater than $warm" fi if [ ${mem}-lt{$warm} ] ;then echo "$mem is less than $warm" fi if [ "${mem}" -gt "{$warm}" ] ;then echo "$mem is greater than $warm" fi if [ ${mem} -gt {$warm} ] ;then echo "$mem is greater than $warm" fi ----------- 但問題是我不管怎麼寫if都不會有正確的判斷 此指令執行後結果如下 32 32 is greater than 10 32 is less than 10 -bash: [: {10}: integer expression expected -bash: [: {10}: integer expression expected 我想問我到底是哪裡做錯了? -- Sent from my Windows -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.122.152.43 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1553225031.A.12A.html

03/22 11:38, 5年前 , 1F
用 bash 的話 何不使用 [[ ${mem} > ${warm} ]]
03/22 11:38, 1F
感謝 終於成功了 ※ 編輯: k97231 (140.122.152.43), 03/22/2019 11:43:57

03/22 12:10, 5年前 , 2F
第一二個 if -gt -lt 二邊要有空格
03/22 12:10, 2F
文章代碼(AID): #1Sb5L74g (Linux)