%20%E3%81%A7%E3%82%B7%E3%82%A7%E3%83%AB%20%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%A6%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88%E3%82%92%E8%87%AA%E5%8B%95%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
私は次のことを実行するはずのシェル スクリプトを実行しようとしています:
このスクリプトは、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