2016-11-22 51 views
-2
a=4; 
b=7; 
c=5; 

x =[ a-b ] 
if (x -gt c) then { 
    echo "x is greater" 

    } else { 
    echo " something" 
    } 

我想比較xc忽視的c負數前綴負數前綴。bash腳本忽略了負數

+3

你的意思是像比較絕對值?另外,當你的代碼示例不是bash腳本時,爲什麼你的問題用'bash'標記? – Aserre

+2

請看看:http://www.shellcheck.net/ – Cyrus

+0

我不認爲你是在寫bash的人。 – dood

回答

1

我假設你的意思是「負號前綴x」。你的代碼中有很多錯誤,你確定你是用bash寫的嗎?

#!/bin/bash 

typeset a=4 b=7 c=5 

x=$((a - b)) 
x=${x//-/} 

if [[ x -gt c ]]; then 
    echo "x is greater" 
else 
    echo " something" 
fi 
+0

'bash'實際上是非常強類型的;它只有*一個*類型:字符串。代替多種類型,它具有不同的運算符,將*字符串解釋爲不同的值。例如,'-gt'將其參數視爲整數,而'>'將其參數視爲字符串。 – chepner

+0

@chepner我明白了,很高興知道,謝謝。 – dood