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

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

    } else { 
    echo " something" 
    } 
내가 c의 부의 접두사를 무시 xc을 비교하려면

에 부의 접두사를 무시합니다.배쉬 스크립트는 음수

+3

절대 값을 비교한다는 뜻입니까? 또한, 여러분의 코드 샘플이 bash 스크립트가 아닐 때 왜 당신의 질문은'bash'로 태그가 붙어 있습니까? – Aserre

+2

제발 좀 봐 : http://www.shellcheck.net/ – Cyrus

+0

나는 당신이 배시맨에 쓰고 있다고 생각하지 않습니다. – 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'는 실제로 매우 강하게 입력됩니다. 그것은 단지 * one * 타입을 가지고 있습니다 : 문자열. 여러 유형 대신에 문자열을 다른 값으로 해석하는 별개의 연산자가 있습니다. 예를 들어'-gt'는 인수를 정수로 취급하고,'>'는 인수를 문자열로 취급합니다. – chepner

+0

@chepner 알았어, 고마워, 고마워. – dood