Ich muss mehrere Chrome-Erweiterungen von mehreren hundert Geräten entfernen. Ich habe ein Skript, das erkennt, ob eine bestimmte Erweiterung vorhanden ist, und wenn ja, dann den Ordner „Default“ löscht. Wie kann ich meinem Skript mehrere Erweiterungen hinzufügen, sodass der Ordner „Default“ gelöscht wird, wenn eine dieser Erweiterungen vorhanden ist? Das Skript sieht derzeit so aus:
#!/bin/bash
currentUser=`ls -l /dev/console | awk '{print $3}'`
if [ -d "/Users/$currentUser/Library/Application Support/Google/Chrome/Default/Extensions/omghfjlpggmjjaagoclmmobgdodcjboh" ]; then
rm -rf "/Users/$currentUser/Library/Application Support/Google/Chrome/Default" && killall "Google Chrome" && echo "<result>Delete Browsec</result>"
else
echo "<result>No</result>"
fi
Antwort1
Es gibt verschiedene kleinere Probleme und Dinge in Ihrem Skript, die ich nicht verstehe und nach denen ich in meinem Kommentar gefragt habe. In der Zwischenzeit könnten Sie, ohne irgendetwas anderes in Ihrem Skript zu berühren, einfach eine Liste von Erweiterungsnamen als Array bereitstellen:
#!/bin/bash
currentUser=`ls -l /dev/console | awk '{print $3}'`
exts=("omghfjlpggmjjaagoclmmobgdodcjboh" "foofoobarbar" "barbarfofo")
for extension in "${exts[@]}";
do
if [ -d "/Users/$currentUser/Library/Application Support/Google/Chrome/Default/Extensions/$extension" ]; then
rm -rf "/Users/$currentUser/Library/Application Support/Google/Chrome/Default" && killall "Google Chrome" && echo "<result>Delete Browsec</result>"
else
echo "<result>No</result>"
fi
done
Ich weiß nicht, was die Zielbetriebssysteme sind, aber ich muss darauf hinweisen, dass dies nicht portierbar istalleund wird beispielsweise auf jedem Linux fehlschlagen.