導航:首頁 > 編程系統 > linuxshell浮點數比較

linuxshell浮點數比較

發布時間:2023-12-10 15:56:05

linux shell中的比較符號與特殊符號介紹

shell字元串比較、判斷是否為數字

二元比較操作符,比較變數或者比較數字。注意數字與字元串的區別。

整數比較

-eq 等於,如:if [ "$a" -eq "$b" ]

-ne 不等於,如:if [ "$a" -ne "$b" ]

-gt 大於,如:if [ "$a" -gt "$b" ]

-ge 大於等於,如:if [ "$a" -ge "$b" ]

-lt 小於,如:if [ "$a" -lt "$b" ]

-le 小於等於,如:if [ "$a" -le "$b" ]

< 小於(需要雙括弧),如:(("$a" < "$b"))

<= 小於等於(需要雙括弧),如:(("$a" <= "$b"))

> 大於(需要雙括弧),如:(("$a" > "$b"))

>= 大於等於(需要雙括弧),如:(("$a" >= "$b"))

字元串比較

= 等於,如:if [ "$a" = "$b" ]

== 等於,如:if [ "$a" == "$b" ],與=等價

注意:==的功能在[[]]和[]中的行為是不同的,如下:

1 [[ $a == z* ]] # 如果$a以"z"開頭(模式匹配)那麼將為true

2 [[ $a == "z*" ]] # 如果$a等於z*(字元匹配),那麼結果為true

3

4 [ $a == z* ] # File globbing 和word splitting將會發生

5 [ "$a" == "z*" ] # 如果$a等於z*(字元匹配),那麼結果為true

一點解釋,關於File globbing是一種關於文件的速記法,比如"*.c"就是,再如~也是.

但是file globbing並不是嚴格的正則表達式,雖然絕大多數情況下結構比較像.

!= 不等於,如:if [ "$a" != "$b" ]

這個操作符將在[[]]結構中使用模式匹配.

< 小於,在ASCII字母順序下.如:

if [[ "$a" < "$b" ]]

if [ "$a" \< "$b" ]

注意:在[]結構中"<"需要被轉義.

> 大於,在ASCII字母順序下.如:

if [[ "$a" > "$b" ]]

if [ "$a" \> "$b" ]

注意:在[]結構中">"需要被轉義.

具體參考Example 26-11來查看這個操作符應用的例子.

-z 字元串為"null".就是長度為0.

-n 字元串不為"null"

鏈接:https://www.jianshu.com/p/6322715ad196

⑵ linux shell中字元'1'如何進行比較

linux shell中不區分字元還是字元串的,只區分數值的比較還是字元串的比較。
你這樣寫就認為是字元串。字元的話你要寫ASCII碼數值,字元'1'要寫成49,轉換為數字進行比較。

⑶ linux shell 編程怎麼定義浮點型數據

bash 不支持浮點運算,如果需要進行浮點運算,需要藉助bc,awk 處理

1、藉助bc處理示例:計算5.01-4*2.0,得到的結果為-2.99

$c=$(echo"5.01-4*2.0"|bc)
$echo$c

2、藉助awk處理示例:計算7.01*5-4.01,得到的結果為31.05

$c=$(awk'BEGIN{print7.01*5-4.01}')
$echo$c

註:在shell 中$() 與 ``等效。 中間包含命令語句執行,返回執行結果。

⑷ LINUX shell 遇到的問題。 我想計算1+2+3+4.到100

這里
i
是當做計數器用的,每次循環遞增1。r
是當做累加器用的,將
i
的值進行累加。
這里沒有用for循環,而是用的while循環,其實是一樣的,而且while循環更為通用(sh不支持for循環)。
循環的次數也是有定義的,while
[
"$i"
!=
"100"
]這句就是定義,只要
i
沒遞增到100,就會一直循環。其實這句從語義上來說是不對的,這里是整數的比較而不是字元串的比較,所以比較符應該用-ne而不要用!=,即,應該寫成
while
[
$i
-ne
100
]
下面是個更為簡單的實現,你可以體會一下(shell中的變數其實不需要初始化,自有其默認值)。
#!/bin/bash
for
i
in
{1..100}
do
r=$((r+i))
done
echo
$r

⑸ linux shell 如何比較兩個整數的大小

linux shell比較兩個整數的大小可以採用以下的代碼

#!/bin/sh

max=9

min=8

if [ $max -gt $min ]

then

echo 1

else

echo 0

fi

數字的比較:

-eq 相等(equal)

-ne 不等(not equal)

-gt 大於(greater than)

-lt 小於(less than)

-ge 大於等於 (greater than or equal)

-le 小於等於 (less than or equal)

字元串的比較:

[ $str1 = $str2 ] 等於

[ $str1 != $str2 ] 不等於

[ -z $str ]空字元串返回true

[ -n $str ] 或者 [ $str ] 非空字元串返回true

(5)linuxshell浮點數比較擴展閱讀:

Shell是系統的用戶界面,提供了用戶與內核進行交互操作的一種介面。它接收用戶輸入的命令並把它送入內核去執行。

shell命令

命令行c

用戶登錄到Linux系統時,可以看到一個shell提示符,標識了命令行的開始。用戶可以在提示符後面輸入任何命令及參數。例如:

$ date

二 11 23 01:34:58 CST 1999

$

用戶登錄時,實際進入了shell,它遵循一定的語法將輸入的命令加以解釋並傳給系統。命令行中輸入的第一個字必須是一個命令的名字,第二個字是命令的選項或參數,命令行中的每個字必須由空格或TAB隔開,格式如下:

$ Command Option Arguments

⑹ Linux篇:shell腳本中if的「-e,-d,-f」

最近在學一段腳本中的if語句中出現了這么一句:

 if [ ! -f "/usr/bin/svnserve" ]

一時沒想起這個-f的意思,於是重新翻了之前的筆記,把相關的知識點總結如下:

-e filename 如果 filename存在,則為真

-d filename 如果 filename為目錄,則為真 

-f filename 如果 filename為常規文件,則為真

-L filename 如果 filename為符號鏈接,則為茄頌真

-r filename 如果 filename可讀,則為真 

-w filename 如宴氏果 filename可寫,則為真 

-x filename 如果 filename可執行,則為真

-s filename 如果文件長度不為0,則為真

-h filename 如果文件是軟鏈接,則為真

filename1 -nt filename2 如果 filename1比 filename2新,則為真。

filename1 -ot filename2 如果 filename1比 filename2舊,則為真。

-eq 等於

-ne 不等於

-gt 大於

-ge 大於等於

-lt 小於

-le 小於等於

04 字元串變數表達式

if [ $a = $b ]                 如果string1等於string2,則為真,字元串允許使用賦值號做等號

if  [ $string1 !=  $string2 ]   如果string1不等於string2,則為真顫祥鄭       

if  [ -n $string  ]             如果string 非空(非0),返回0(true)  

if  [ -z $string  ]             如果string 為空,則為真

if  [ $sting ]                  如果string 非空,返回0 (和-n類似) 

    邏輯非 !                   條件表達式的相反

if [ ! 表達式 ]

if [ ! -d $num ]               如果不存在目錄$num

    邏輯與 –a                   條件表達式的並列

if [ 表達式1  –a  表達式2 ]

    邏輯或 -o                   條件表達式的或

if [ 表達式1  –o 表達式2 ]

⑺ shell中比較兩個變數之間的值!

你是想直接比較 2列數據 吧

awk-F","'$2<$3{print$0}'cc.del

這句是直接比較 第三列大於第二列則輸出回整行

如果想比較第三列大於第二列輸出第一答列 吧$0換成$1即可

如果只單純輸出go

awk-F","'$2<$3{system("echogo")}'cc.del
閱讀全文

與linuxshell浮點數比較相關的資料

熱點內容
90版本升級不送 瀏覽:186
工具箱英文 瀏覽:382
南翔嘉定編程課哪裡好 瀏覽:853
win10改變文件格式 瀏覽:475
linux中的物理地址和虛擬地址 瀏覽:493
有哪些app可以接游戲訂單 瀏覽:472
蘋果硬碟數據恢復要多少錢 瀏覽:394
js綁定下拉框資料庫數據 瀏覽:448
cad文件怎麼復制到另一個文件里邊 瀏覽:858
dxp鑽孔文件 瀏覽:631
iphone大悅城換機 瀏覽:538
找結婚對象上什麼網站 瀏覽:974
學生信息管理系統程序設計報告 瀏覽:640
微信文件怎麼刪除怎麼恢復 瀏覽:407
編程程序怎麼復制 瀏覽:467
文件更改 瀏覽:327
冰點文件路徑 瀏覽:730
軟體一點開文件就關閉 瀏覽:88
網路如何把人捧紅 瀏覽:961
軟體傳輸文件 瀏覽:184

友情鏈接