Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        3年前关闭。
                                                                                            
                
        
我写了一个小脚本来检查更新。
我正在寻找输出3个答案中的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个更新可用”

我觉得我已经接近解决方案了。有人可以帮我找到解决方案吗?

谢谢。

最佳答案

1大于0。将if语句更改为if [ $NUMOFUPDATES -gt 1 ]; then

关于linux - Bash脚本在Updates语句上返回正确的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39554423/

10-14 14:27
查看更多