79 lines
2.1 KiB
Bash
79 lines
2.1 KiB
Bash
#!/bin/bash
|
|
|
|
##########################################################################
|
|
# Shellscript : Delete App
|
|
# Autor : Michelle Tembaak, macenterprise gmbh, 28.01.2020
|
|
##########################################################################
|
|
# Das Scipt prüft, ob veraltete Versionen von einer App installiert sind und löscht diese auf Wunsch.
|
|
# Über $4 die gewünschte Versionsnummer angeben
|
|
|
|
|
|
#### Funktionen ####
|
|
|
|
checkVersion(){
|
|
#Listet alle Versionen auf
|
|
liste=$(ls -1 /Applications/ | grep $1 )
|
|
jamfHelper="/Library/Application Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper"
|
|
warnungIcon="/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AlertStopIcon.icns"
|
|
Nachricht="Auf deinem Rechner befindet sich eine alte Version des Programms. Soll diese deinstalliert werden?"
|
|
Title="Achtung!"
|
|
|
|
|
|
#Prüft, ob eine veraltete Version vorhanden ist
|
|
echo $liste
|
|
for i in $liste
|
|
do
|
|
version="$(defaults read /Applications/$i/Contents/Info.plist CFBundleShortVersionString)"
|
|
echo $version
|
|
echo $2
|
|
if (( $(echo "$version $2" | awk '{print ($1 < $2)}') )); then
|
|
Antwort=$("$jamfHelper" -windowType utility -icon "$warnungIcon" -title "$Title" -description "$Nachricht" -button1 "Ja" -button2 "Nein" -cancelButton "2" -defaultButton 2)
|
|
echo $Antwort
|
|
if [[ $Antwort -eq 0 ]]; then
|
|
return 0
|
|
break
|
|
else
|
|
exit 0
|
|
fi
|
|
else
|
|
echo "Nein"
|
|
|
|
fi
|
|
done
|
|
|
|
}
|
|
|
|
|
|
testFunktion()
|
|
{
|
|
liste=$(ls -1 /Applications/ | grep $1 )
|
|
|
|
#Listet alle installierten Versionen auf. Versionen die gelöscht werden sollen, können angeklickt werden.
|
|
liste2=$( osascript <<OSA
|
|
set ASlist to the paragraphs of "$(printf '%s\n' "${liste[@]}")"
|
|
return choose from list ASList with title "Welche Versionen sollen gelöscht werden?" with multiple selections allowed
|
|
OSA )
|
|
|
|
liste3=$(echo $liste2 | tr -d , | cut -d ' ' -f 1- )
|
|
echo $liste3
|
|
for i in $liste3
|
|
do
|
|
echo "Ich lösche $i"
|
|
sudo rm -r /Applications/$i
|
|
done
|
|
}
|
|
|
|
|
|
|
|
### Durchführung ###
|
|
|
|
checkVersion "Xcode" "$4"
|
|
|
|
return=$(echo $?)
|
|
|
|
echo $return
|
|
if [[ $return -eq 0 ]]; then
|
|
testFunktion "Xcode"
|
|
else
|
|
exit 0
|
|
fi |