2014-08-27 7 views
-1

이 발생합니다. 다음 쉘 스크립트를 실행하고 예기치 않은 토큰 'done'근처에서 오류 구문 오류가 발생합니다. 그게 뭐가 잘못 되었 니? 나는 무엇을 놓쳤는가?예기치 않은 토큰 근처에 구문 오류가 발생했습니다. 스크립트를 실행하면

#!/bin/sh 
    df -H | grep -vE '^Filesystem|tmpf|cdrom' | awk ' {print $5 " " $6}' | while read output 
do 
echo $output 
usep=$(echo $output | awk '{print $1}' | cut -d'%' -f1) 
echo $usep 
partition=$(echo $output | awk '{print $2}') 
if [ $usep -ge 90 ]; then 
    echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date) : $usep%" | 
     mail -s "Alert: Critical Almost out of disk space $partition $usep%" 
[email protected] 
fi 
if [ $usep -ge 5 ]; then 
    echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date) : $usep%" | 
     mail -s "Alert: Warning Almost out of disk space $partition $usep%" [email protected] 
fi 
done 
+0

@Carpetsmoker로 변환하는 경우 스크립트는 잘 작동 언제부터'끝날 수 없습니다 파이프 라인 | '와 같은 라인 자동으로 계속됩니다. – chepner

+0

스크립트가 정상적으로 보입니다. 너 어떻게 지내니? 어떤 시스템 에서요? 어떤 껍데기로? ... 질문은 원래'python'으로 태그되었습니다. 파이썬을 사용하여 쉘 스크립트를 실행하고 있습니까? 이것은 분명히 틀린 것입니다 ... – Carpetsmoker

+0

'[...]'안에 매개 변수 확장을 인용해야하지만, 실제로는 그 값이 정수인지 확인해야 할 수도 있습니다. – chepner

답변

1

스크립트를 복사하여 Cygwin에서 테스트했습니다.

나는 구문 오류 윈도우 끝 (end-of-line) (CRLF)을 사용하여 얻을 수 있지만, 유닉스 EOL (LF)

관련 문제