次のスクリプトで 'elseif'行を修正して、終了ステータスをゼロにしてエラーなしで処理できるようにしてください。これは正しい構文を知らないためです。Bash else /終了ステータスをキャプチャする場合
次のコマンドからゼロをキャプチャする必要がありますが、スクリプト内のカッコ内です。
softwareupdate -l 2>&1 | grep restart
マイスクリプト:
#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin export PATH
SWLOG=/var/log/swupdate.log
softwareupdate -l 2>&1 | grep "No new software available."
if [ $? -eq 0 ]
then
echo "No new software was deemed to be available"
elif [ $(softwareupdate -l 2>&1 | grep restart & $? = 0) ]
then
echo "RESTART will be needed"
else
echo "Updates needed, but not restart"
fi
はあなたの提案やアイデアを事前にありがとうございます!
ダン