如何在 Mac(10.7.4)上运行 shell 脚本来自动安装更新?

如何在 Mac(10.7.4)上运行 shell 脚本来自动安装更新?

我试图运行这个 shell 脚本,它应该执行以下操作:

  • 此脚本使用 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    

相关内容