나는 이 작업을 수행하도록 되어 있는 이 쉘 스크립트를 실행하려고 합니다.
이 스크립트는 OSX의 소프트웨어 업데이트 프로그램을 사용하여 자동으로 업데이트를 확인하고 설치합니다. 또한 모든 업데이트를 /Library/Management/update.log 파일에 기록합니다.
먼저 로그인한 사용자가 있는지 확인하고, 있으면 로그 파일에 해당 사용자를 기록하고 종료한다.
로그인한 사용자가 없으면 컴퓨터를 업데이트하고 정보를 기록한 후 재부팅합니다.
이 오류가 계속 발생합니다.
update.sh: line 9: syntax error near unexpected token `fi'
update.sh: line 9: `fi'
스크립트는 다음과 같습니다.
#!/bin/sh
users=$(users)
users1=$(echo "${#users}")
if [ $users1 -lt 1 ]
then
date >> /Library/Management/update.log && /usr/sbin/softwareupdate -aiv >>
/Library/Management/update.log && /sbin/reboot
else
date >> /Library/Management/update.log && echo "Logged in users: " >>
/Library/Management/update.log && echo $(users) >> /Library/Management/update.log
fi
어떤 아이디어가 있나요?
답변1
로 시작하는 줄에 줄 date
연속 문자가 없습니다. 다음과 같이 바꾸십시오.
date >> /Library/Management/update.log && /usr/sbin/softwareupdate -aiv >> \
/Library/Management/update.log && /sbin/reboot