셸 스 크 립 트 의 "integer expression expected"해결 방법


셸 스 크 립 트 에 서 는 "[$temp - gt"0 "] 과 같은 인자 로 비교 할 때"integer expression expected "오류 가 발생 할 수 있 습 니 다.이것 은 이 몇 개의 매개 변수: - lt, - lt, - eq 가 모두 숫자 이기 때문에 변수 temp 이 문자열 이 라면 상기 오류 가 발생 할 수 있 습 니 다.원문 을 '[$temp - gt 0]' 으로 바 꾼 결과 도 마 찬가 지 였 다.
이 문 제 를 해결 하려 면 비교적 우회 적 인 방법 을 취 할 수 있다. 즉, awk 도구 로 변 수 를 비교 한 다음 에 비교 한 결 과 를 해당 하 는 숫자 량 과 비교 할 수 있다.상술 한 예 를 구체 적 으로 보면 이렇게 처리 할 수 있다.
[ `echo ${TEMP} | awk -v tem=0 '{print($1>tem)? "1":"0"}'` -eq "0"]
용법 은 다음 과 같다.
TEMP=`adb shell "cat /sys/class/backlight/intel_backlight/brightness"`
if [ `echo ${TEMP} | awk -v tem=0 '{print($1>tem)? "1":"0"}'` -eq "0" ]; then
	adb shell input keyevent 26
fi

좋은 웹페이지 즐겨찾기