2014-07-17 3 views
-2

에 var에 널 (null)은 예입니다배쉬 : 조건 여기

$ credits="29" ; echo "C=$credits" ; initial="1064" ; echo "C=$credits" ; limit=`expr $initial/10` ; echo "C=$credits" ; if [ "$credits" -le "$limit" ] && [ ! "$initial" -eq "50" ] ; echo "C=$credits" ; then echo "C=$credtis" ; fi ; echo "C=$credits" ; echo "I=$initial" 
C=29 
C=29 
C=29 
C=29 
C= 
C=29 
I=1064 

$ c="29" ; echo "C=$c" ; initial="1064" ; echo "C=$c" ; limit=`expr $initial/10` ; echo "C=$c" ; if [ "$c" -le "$limit" ] && [ ! "$initial" -eq "50" ] ; echo "C=$c" ; then echo "C=$c" ; fi ; echo "C=$c" ; echo "I=$initial" 
C=29 
C=29 
C=29 
C=29 
C=29 
C=29 
I=1064 

var에 이름이 "C"가되면, 모든 것이 괜찮습니다, 그러나 "크레딧"을 때, 나는에서 VAR 컨텐츠를 사용할 수 없습니다 조건 일 경우. 이유를 모르겠다 ...

+1

이것이 문제의 원인입니다 :' "C = $ credtis"'. '코드 서식 지정'이 중요한 이유의 좋은 예입니다. – Sobrique

+0

구문 오류가 발생했습니다. 너는 신용 기록을 썼다. – Aserre

답변

0

두 행의 코드에서 표현식이 올바르지 않으면 형식이 잘못 지정됩니다. 즉, 첫 번째 행은 if의 끝과 then 사이 잘못된 echo "C=$credits" ;를 포함

if [ "$credits" -le "$limit" ] && [ ! "$initial" -eq "50" ] ; then 
    echo "C=$credtis" 
fi 

동일한 오류 여기서 반복된다 :

if [ "$credits" -le "$limit" ] && [ ! "$initial" -eq "50" ] ; echo "C=$credits" ; then 

같아야

if [ "$credits" -le "$limit" ] && [ ! "$initial" -eq "50" ] ; echo "C=$credits" ; then 

이어야합니다.