-2
我寫了一個小腳本來檢查更新。 我在尋找它的輸出1 3的答案:Bash腳本在Updates語句中返回正確的值
- 如果沒有更新,返回「您的系統是最新的」
- 如果只有一個更新繳費,返回「有1個更新可用」
- 如果有多個更新,返回‘有$ NUMOFUPDATES更新可用’
這是我到目前爲止有:
#!/bin/bash
# Check for Updates
# Variables
NUMOFUPDATES=$(LANG=C apt-get upgrade -s |grep -P '^\d+ upgraded'|cut -d" " -f1)
UPDATEY1="There is 1 Update available"
UPDATEY2="There are $NUMOFUPDATES Updates available"
UPDATEN="Your system is up to date"
if [ $NUMOFUPDATES -gt 0 ]; then
echo "\${color3}"$UPDATEY2 # Number of updates available
elif [ $NUMOFUPDATES -eq 1 ]; then
echo "\${color3}"$UPDATEY1 # Number of updates available
else
echo "\${color2}"$UPDATEN # System is up to date
fi
exit 0
什麼也沒有做,正顯示出如果只有1次更新,它不返回「有1個更新可用」它返回「有$ NUMOFUPDATES更新可用」
我覺得我接近解決方案。有人能幫我找到解決辦法嗎?
謝謝。
'$ NUMOFUPDATES -gt 0'爲1更新爲真,1大於0.所以第一個if被執行。 –
1當然是'-gt 0',所以'elif'永遠不會發生。投票結束如同微不足道。 – tripleee
你爲什麼不使用'case $ NUMOFUPDATES'? – Barmar