2016-08-26 2 views
1

메신저이있는 진짜 멍청한 놈이,이를 heres 바보 같은 질문정수 표현 예상 오류

(첫 번째 줄은 선 # 259 인 코드의 클립 죄송 경우, 마지막 줄은 #입니다 내가 그것을

./checker.sh: line 259: [: .",: integer expression expected 
./checker.sh: line 263: [: .",: integer expression expected 

때 실행할 때 내가 그것을이 실행 263)

if [ $col -le 6 ] 
then 
echo -e "\t\t\033[91;4m 
$paragraph\033[0m" 
elif ! [ $col -le 12 ] 

내가 무엇을 얻을 괄호 사이에 공백이 있는지 확인하기 위해이 오류를 찾아 보았습니다. 그 밖에 무엇을해야할지 모르겠다.

+0

확인'$의 col'의 값 :

가 표시되는 메시지를 재현하기 위해, 우리는 col=' .",'을 설정합니다. 거의 확실하게 당신이 기대하는 바가 아닙니다. (실제로, 그것은 어떻게 든. \ ","어떻게 든 보일 것입니다. –

+0

스크립트에서 [Error "integer expression expected"]의 가능한 복제본이 생길 수 있습니다. (http://stackoverflow.com/questions/21716389/error-integer- expression-expected-in-script) – tripleee

답변

1

오류 메시지는 읽는 법을 배우면 유익합니다.

하자 실행 세 가지 예 : "예상 정수 표현"이 세 가지의

$ col="1"; [ $col -le 6 ] 
$ col=""; [ $col -le 6 ] 
bash: [: -le: unary operator expected 
$ col="a"; [ $col -le 6 ] 
bash: [: a: integer expression expected 

, 당신은 메시지를 얻을. 즉, col은 정수가 아닙니다.

$ col=' .",'; [ $col -le 6 ] 
bash: [: .",: integer expression expected 
+0

그게 오류를주는 스크립트 부분 일뿐입니다. 전체 스크립트를 넣으면 도움이 될까요? – Fish

+0

'col'의 값을 설정하는 부분을 찾을 수 있습니다. 그것이 어디에 있는지 확실하지 않으면'bash -x checker.sh'를 실행하십시오. 이것은 많은 진단 결과물을 출력 할 것입니다.'col'이 설정된 곳을 검색하여 왜 잘못 설정되었는지 찾으십시오 값. – John1024

+0

col =() 이것은 내가 맞으면 아무 것도 설정하지 않는다는 것을 의미합니다. – Fish