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