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 date
faltam 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