我试图运行这个 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