erste info aus plutil
Ich habe Probleme Richtung info aus plutil. Ich möchte überprüfen, ob eine .plist enthält die Schlüssel CFBundleShortVersionString. Ich glaube nicht, dass plutil hat eine option um zu testen, ob ein Schlüssel vorhanden ist, so dass ich dachte, ich würde nur plutil -show file.plist >file.txt
aber das schlicht und einfach nicht funktioniert. :/Also habe ich versucht, direkt die plist-Datei von stdout an die Datei mit der option dump plutil -dump file.plist >file.txt
mit kein Glück. :/Ich habe auch versucht, die Leitung der stdout zu stderr und stderr und stdout in eine Datei. Nichts funktionierte. Wie mache ich das?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Oneliner, die nicht davon abhängig, extra-Dienstprogramm zu installieren:
plutil -extract CFBundleShortVersionString xml1 -o - ./Info.plist | sed -n "s/.*<string>\(.*\)<\/string>.*/\1/p"
Wenn Sie brauchen, um zu testen, Ihre .plist für die Existenz der
CFBundleShortVersionString
Schlüssel, es ist besserPlistBuddy
wie diese:plutil -extract CFBundleShortVersionString xml1 -o - App-Info.plist
Befehl druckt den InhaltCFBundleShortVersionString
EigenschaftArt der Beantwortung Ihrer Frage, könnten Sie ein kleines bash-Skript mit:
Wenn Sie rufen Sie die bash-script pldump machen es ausführbar mit
chmod +x pldump
. Legen Sie Sie irgendwo in Ihrem Pfad, und verwenden Sie es wie so:Können, sehe ich keinen anderen Weg, plutil Ausgabe auf stdout.
2>&1
trick in meiner Antwort oben machenplutil
Ausgabestdout
?gibt alle Zeilen in der plist mit dem text 'cbk' in Ihnen. Aus irgendeinem Grund
plutil
sendet seine Ausgabe zu stderr. Die oben leitet stderr auf stdout, so kann es dann sein, erfolgreich geleitet aufgrep
(oder in eine Datei umgeleitet, oder was immer Sie wollen).