Mac (10.7.4) でシェル スクリプトを実行してアップデートを自動インストールするにはどうすればよいですか?

Mac (10.7.4) でシェル スクリプトを実行してアップデートを自動インストールするにはどうすればよいですか?

私は次のことを実行するはずのシェル スクリプトを実行しようとしています:

  • このスクリプトは、OSX の softwareupdate プログラムを使用して、自動的にアップデートをチェックし、インストールします。また、すべてのアップデートを /Library/Management/update.log ファイルに記録します。

  • まず、ログインしているユーザーがいるかどうかを確認し、ログインしている場合は、そのユーザーをログ ファイルに記録して終了します。

  • ログインしているユーザーがいない場合は、コンピューターを更新し、情報をログに記録して再起動します。

このエラーが繰り返し発生します:

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

update.sh: line 9: `fi'

スクリプトは次のとおりです:

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

何か案は?

答え1

で始まる行にはdate行継続文字がありません。次のような文字に置き換えてください。

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

関連情報