[問題] Bash script 中 if 判斷大小於的問題
是這樣的
因為我們知道時間是60進位的
我現在想寫一個腳本可以把我輸入的時間轉換成十進位的!
但是我查了一下bash好像不支援小數點計算?
所以我就自己寫了一個腳本來想辦法弄出小數點
# 2010/07/15 Lai First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
echo -e "Type the min and sec, I will transform to 1/100 !\n"
read -p "minute:" min
read -p "second:" sec
culm=$(($min*10000/60))
culs=$(($sec*10000/3600))
total=$(($culm+$culs))
if ["$total">999 ]; then
echo ".$total"
else
echo ".0$total"
fi
重點就是因為我主要要找出現在總共有幾小時 ex:2.6789個小時
因為用分數這樣計算 會有小數點得問題
我就把他寫成 如果分秒加起來可以湊到0.1個小時的話 那就是顯示.XXX小時
如果湊不到小時0.1小時 就多顯示一個0 變成 0.0XXX小時
但是我最後那個if判斷式好像有點問題 他總是沒辦法判斷出小於零的時候
會顯示
minute:2
second:44
data.sh: line 14: [455:命令找不到
.0455
minute:59
second:59
data.sh: line 14: [9996:命令找不到
.09996
請高手幫我指點一下 我的條件式是不是哪裡有錯誤?!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.193.112
※ 編輯: danny6430 來自: 140.122.193.112 (07/15 11:43)
推
07/15 12:33, , 1F
07/15 12:33, 1F
推
07/15 12:40, , 2F
07/15 12:40, 2F
→
07/15 13:06, , 3F
07/15 13:06, 3F
推
07/15 13:25, , 4F
07/15 13:25, 4F