Como executar um script de shell em um Mac (10.7.4) para instalar atualizações automaticamente?

Como executar um script de shell em um Mac (10.7.4) para instalar atualizações automaticamente?

Estou tentando executar este script de shell que deveria fazer isso:

  • Este script usa o programa softwareupdate no OSX para verificar automaticamente se há atualizações e instalá-las. Ele também registra todas as atualizações no arquivo /Library/Management/update.log.

  • Ele primeiro verifica se há algum usuário conectado e, em caso afirmativo, registra o usuário no arquivo de log e finaliza.

  • Se não houver nenhum usuário conectado, ele atualiza o computador, registra as informações e reinicializa.

Eu continuo recebendo esse erro:

update.sh: line 9: syntax error near unexpected token `fi'

update.sh: line 9: `fi'

aqui está o roteiro:

#!/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

Alguma ideia?

Responder1

As linhas que começam com datefaltam caracteres de continuação de linha. Substitua-os por algo assim:

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

informação relacionada