쉘 스크립트의 구문 오류

쉘 스크립트의 구문 오류
 #!/bin/sh
df-H | grep -vE '^Filesystem|tmpfs|cdrom'| 
awk '{print $5" "$1}' while read output;
do
echo $output
usep=$(echo $output |awk '{print $1}'| cut -d'%'-f1)
partition=$(echo $output | awk '{print $2}')
if [#usep -ge 80]; then
echo 'running out of space 
\"$partition($usep%)\'on $(hostname)as on $(date)"|mail -s"alert:almost out of disk space $ usep% [email protected]);
f1 
Done;

스크립트를 실행할 때 다음 오류가 발생합니다.

line 6 Unexpected EOF WHILE LOOKING FOR MATCHING '"'
LINE 13 :syntax error : unexpected end of file:

답변1

램, 스크립트를 다시 확인해야 합니다. 철자 오류(fi 대신 f1, 인용 오류)가 많이 포함되어 있습니다.

내가 한 방법은 다음과 같습니다. sh는 더 이상 이에 대해 불평하지 않으며, 해야 할 일을 수행하고 있는지 스스로 확인해야 합니다.

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

관련 정보