Bash script 中 if 判斷大小於的問題 - Linux

Margaret avatar
By Margaret
at 2010-07-15T11:37

Table of Contents

是這樣的

因為我們知道時間是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


請高手幫我指點一下 我的條件式是不是哪裡有錯誤?!
--
Tags: Linux

All Comments

Daniel avatar
By Daniel
at 2010-07-17T20:01
判斷數字大小是用 -eq -ne 等,詳見鳥哥
Franklin avatar
By Franklin
at 2010-07-22T10:14
if ["$total",改成if [ "$total",多空一格就可以了
Elma avatar
By Elma
at 2010-07-24T23:29
阿~~~感謝大大~我弄出來了!!!
Skylar DavisLinda avatar
By Skylar DavisLinda
at 2010-07-28T14:08
出來了就舒服囉!樓下結帳,謝謝!

Mandriva 2010.1 32位元 hinedo 不能用

Jessica avatar
By Jessica
at 2010-07-15T09:46
最近想升級server,改灌 MDV 2010.1 由於很多service用的都是老套件 所以還是選擇32位元版本,剛剛試了一下發現 hinedo 不能用, 錯誤訊息如下: Traceback (most recent call last): File and#34;/usr/lib/hinedo/ ...

請問一台舊電腦可以安裝的系統

Jessica avatar
By Jessica
at 2010-07-15T03:31
※ 引述《whaleliu (龍魂不滅)》之銘言: : 一台舊電腦 : P3 1.8G 512SDRAM : 如果安裝cad軟體 : 請問各位版友哪一代的OS會比較好 : 謝謝回答 舊電腦的話 目前我曾經有試用過一款發行版據說是專為舊電腦打造的 是antiX 不過沒有中文 官方網站 http: ...

請問一台舊電腦可以安裝的系統

Edwina avatar
By Edwina
at 2010-07-15T00:12
一台舊電腦 P3 1.8G 512SDRAM 如果安裝cad軟體 請問各位版友哪一代的OS會比較好 謝謝回答 -- ˍˍ 殺生為護生 ...

ubuntu10.04下的phpmyadmin

Eartha avatar
By Eartha
at 2010-07-14T21:05
※ 引述《gkofay (平靜)》之銘言: : 我灌了lamp-sever,成功安裝了apache php和mysql : 成功出現了 it works! : 也and#34;一模一樣and#34;按照了影片的方式灌了phpmyadmin : http://www.youtube.com/watch?v=gp ...

Samba可以做到禁止寫入那些副檔名的檔긠…

Eden avatar
By Eden
at 2010-07-14T20:45
iptables -I INPUT -s 你的網段 -i 你的介面 \ -m string --string and#34;.rmvband#34; -j DROP 當然可以視需求修改 - ...