shell浮點數運算問題 - Linux

Margaret avatar
By Margaret
at 2018-12-03T22:44

Table of Contents


我用unix 系統
寫sh時,遇到了一個bug ,就是浮點數無法運算

我使用ntpdate去校正時間, 並且記錄校正了多少時間

例如:需要校正的時間是 0.000304 s

我寫

ntpdate -p 10.37.82.23 > time.txt
NTP= grep delay time.txt | awk ' ' {print $6}

# $NTP will show 類似 0.000304

if [ $NTP -le 0.100001 ];then
ntpdate -u 10.37.82.23
fi


# 如果NTP server 連線異常, $NTP will show 0.000000
if [ $NTP -eq 0.000000 ];then
echo "NTP server not connect"
fi


上面第一個if 會 不成立 , 可能類似浮點數運算, 他以為兩個都是0

第二個if 也會顯示錯誤, [0.000000 -eq 0.000000 ] 他竟然顯示不相等

請問這是什麼原因,我可以怎麼修正

--
Tags: Linux

All Comments

Hedwig avatar
By Hedwig
at 2018-12-05T12:18
查了一下 可以用bc或awk試試
Victoria avatar
By Victoria
at 2018-12-09T22:52
if [ $(bc <<< "$NTP <= 0.100001" ) -eq 1 ]
Caroline avatar
By Caroline
at 2018-12-11T20:09
用bc
Blanche avatar
By Blanche
at 2018-12-14T04:47
$(bc <<< "$NTP <= 0.100001" ,請問bc<<<這是什麼?
William avatar
By William
at 2018-12-14T11:45
expr 3.1415 \> 3.14159 >/dev/null && echo ">" || echo
"<="
Daniel avatar
By Daniel
at 2018-12-19T02:53
bc 是指令,<<< 是 Bash 的 here string
Mary avatar
By Mary
at 2018-12-19T07:05
Bash 使用手冊明明就有說只支援整數運算

常常系統變成唯讀狀態,必須要執行fsck才正常

Damian avatar
By Damian
at 2018-11-28T23:11
最近常常出現用到一半系統不能更新、某些程式沒音效, 重開機後都會進入一個命令的模式,然後使用 fsck 修復, 這個月已經出現了三到四次了,會是新的 kernel 造成的嗎? OS: Ubuntu 18.10 kernel: 4.19.5 - ...

ubuntu 18.10 vsftpd 架設

Anthony avatar
By Anthony
at 2018-11-28T10:14
抱歉,問一下, 我電腦當 Server 用 ubuntu 18.10 版灌 vsftpd, Server 這台本機開網頁打 ftp://192.168.yy.xxx 連 ftp ok. 用另外一台電腦開網頁打 ftp://192.168.yy.xxx 連不上 ftp, 有點無助, 請幫忙我看一下, 我在 ...

Debian接FC找不到LUN

Carol avatar
By Carol
at 2018-11-28T09:31
現在看的到NETAPP 但沒掛載點 這是怎回事 囧 rootatnode06:/# lsscsi -s [0:2:0:0] disk DELL PERC H710P 3.13 /dev/sda 12.0TB [2:0:0:0] disk NETAPP I ...

安裝ubuntu 18.04出現Squashfs Errors

Necoo avatar
By Necoo
at 2018-11-28T05:39
各位大大好 小弟是ubuntu新手 原本的電腦有win10 我想要清除他 只留下Linux 在使用ubuntu的圖型介面安裝時 會在安裝時跳出 [ 288.909464] SQUASHFS error: zlib_inflate error, data probably corrupt [ 288.90948 ...

apache的網頁連不上

Steve avatar
By Steve
at 2018-11-27T20:18
大家好,最近被老師要求架一個網站 因為配的虛擬主機是用linux只好用了... 版本是 Ubuntu 16.05 LTS 沒圖形介面(架網站不能用瀏覽器..QQ) ------------------------------------ 我直接先把errorlog放上來,後面在來慢慢說明問題好了 瀏覽器直接連 ...