1

Я пытаюсь запустить этот сценарий оболочки, который должен сделать это:

  • Этот сценарий использует программу обновления программного обеспечения на 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 ответ1

0

В строках, начинающихся с date , отсутствуют символы продолжения строки. Замените их чем-то вроде этого:

date >> /Library/Management/update.log && /usr/sbin/softwareupdate -aiv >> \
/Library/Management/update.log && /sbin/reboot    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .