Files
Alte_Skripte/Delete Xcode Test.sh
2026-02-16 15:05:15 +01:00

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