¿Cómo ejecutar un script de shell en una Mac (10.7.4) para instalar automáticamente las actualizaciones?

¿Cómo ejecutar un script de shell en una Mac (10.7.4) para instalar automáticamente las actualizaciones?

Estoy intentando ejecutar este script de shell que se supone que hace esto:

  • Este script utiliza el programa de actualización de software en OSX para buscar actualizaciones e instalarlas automáticamente. También registra todas las actualizaciones en el archivo /Library/Management/update.log.

  • Primero verifica si hay usuarios conectados y, de ser así, registra al usuario en el archivo de registro y finaliza.

  • Si ningún usuario ha iniciado sesión, actualiza la computadora, registra la información y se reinicia.

Sigo recibiendo este error:

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

update.sh: line 9: `fi'

aquí está el guión:

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

¿Algunas ideas?

Respuesta1

A las líneas que comienzan con dateles faltan caracteres de continuación de línea. Reemplácelos con algo como esto:

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

información relacionada