%20%E4%B8%8A%E5%9F%B7%E8%A1%8C%20shell%20%E8%85%B3%E6%9C%AC%E4%BE%86%E8%87%AA%E5%8B%95%E5%AE%89%E8%A3%9D%E6%9B%B4%E6%96%B0%EF%BC%9F.png)
我正在嘗試運行這個 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