Wie führe ich ein Shell-Skript auf einem Mac (10.7.4) aus, um Updates automatisch zu installieren?

Wie führe ich ein Shell-Skript auf einem Mac (10.7.4) aus, um Updates automatisch zu installieren?

Ich versuche, dieses Shell-Skript auszuführen, das Folgendes tun soll:

  • Dieses Skript verwendet das Softwareupdate-Programm unter OSX, um automatisch nach Updates zu suchen und diese zu installieren. Außerdem protokolliert es alle Updates in der Datei /Library/Management/update.log.

  • Es prüft zunächst, ob Benutzer angemeldet sind, und protokolliert ggf. den Benutzer in der Protokolldatei und beendet das Verfahren.

  • Wenn kein Benutzer angemeldet ist, wird der Computer aktualisiert, die Informationen protokolliert und ein Neustart durchgeführt.

Ich erhalte ständig diesen Fehler:

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

update.sh: line 9: `fi'

hier ist das Skript:

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

Irgendwelche Ideen?

Antwort1

In den Zeilen, die mit beginnen, datefehlen Zeilenfortsetzungszeichen. Ersetzen Sie diese etwa durch Folgendes:

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

verwandte Informationen