2016-12-11 2 views
-1

Ich bin auf der Suche nach einem einfachen Skript, das ich in einer Bash-Datei verwenden kann, um zu überprüfen, ob Systemupdates verfügbar sind.Suche nach Unterstützung mit Bash-Skript zum Überprüfen, ob Updates in lubuntu verfügbar sind

ich mit

begann
#!/bin/bash 

clear 
updates=$(apt list upgradeable) 
if [-n ${updates} ]; then 
echo "updates available" 
else 
echo "no updates!" 
fi 

Allerdings ist das Problem, dass, selbst wenn es keine Updates ist, können Sie immer noch eine Rendite von „Listing ... Done“

uns auf jede Hilfe Schauen Sie bekommen oder beraten.

Cheers, Darren

Antwort

0

Die offensichtliche Option ist, um loszuwerden, wenn die Leitung mit Listing beginnen; apt gibt auch eine Warnung, wenn die STDOUT kein TTY ist, so dass Sie wollen zu dieser Linie, um loszuwerden:

updates=$(apt list upgradeable |& grep -Ev '^(Listing|WARNING)') 

grep -Ev '^(Listing|WARNING)' funktioniert die erwähnte Arbeit.

+0

Vielen Dank heemayl - das hat geholfen, einen Schritt näher zu kommen ... Nein, ich bekomme falsche Positive mit dem Skript in seiner jetzigen Form. – Darren

+0

Beachten Sie, dass die Manpage des Befehls 'apt' ausdrücklich darauf hinweist, dass sie nicht für Skripts gedacht ist. Das ist also möglicherweise keine gute langfristige Lösung. –

0

Sie können Aptitude dafür verwenden.

aptitude -q -F%p --disable-columns search "~U" 
Verwandte Themen