Ich möchte ein Skript erstellen, um eine Gruppe von Programmen zu installieren. Die PKG- Dateien befinden sich auf einer Windows-Dateifreigabe.
Ich kann sie derzeit einzeln über das Terminal mit der folgenden Syntax installieren:
sudo installer -store -pkg "/Volumes/{Path to package}" -target /
Aber wenn ich versuche, dies in mein installer.sh- Skript einzufügen, erhalte ich einen Syntaxfehler, dass ein Teil des in Anführungszeichen enthaltenen Pfads eine ungültige Option ist. Es scheint, dass die doppelten Anführungszeichen um meinen Pfad nicht enthalten sind, wenn sie an die Shell übergeben werden.
Also habe ich versucht, die Anführungszeichen zu umgehen, indem ich vor jedem doppelten Anführungszeichen ein \ hinzufüge, und ich bekomme den gleichen Fehler. Soll ich meinen Anführungszeichen auf andere Weise entkommen?
installer -store -pkg “/Volumes/ChiefGeneral/TechGeneral/Misc/Batch Install/X6/Chief Architect Premier X6.pkg” -target /
installer -store -pkg “/Volumes/ChiefGeneral/TechGeneral/Misc/Batch Install/X6/Chief Architect Interiors X6.pkg” -target /
installer -store -pkg “/Volumes/ChiefGeneral/TechGeneral/Misc/Batch Install/X6/Chief Architect Lite X6.pkg” -target /
Danke schön.
Ist es möglich, dass der Editor, mit dem Sie das Skript erstellen, "Smartquotes" anstelle von normalen doppelten Anführungszeichen verwendet und das zitierte Material daher nicht als einzelnen Parameter behandelt?
Versuchen Sie, die Anführungszeichen loszuwerden und die Leerzeichen mit \ zu umgehen, und sehen Sie, ob das funktioniert. Wenn dies der Fall ist, stellen Sie sicher, dass Sie einen einfachen alten Texteditor verwenden, der Ihre Zitate nicht durcheinander bringt.
Das programmgesteuerte Installieren von Apps unter OS X war traditionell ein bisschen mühsam. Allerdings bin ich vor ein paar Wochen über dieses Homebrew -Äquivalent für Apps gestolpert und bin begeistert: Homebrew Cask . Ich war bereits ein Homebrew-Fan für die Befehlszeilen-App und die Paketverwaltung und die Cask-Aufgabe ist die gleiche, einfache Befehlszeile und gilt für das Abrufen und Installieren von Anwendungen auf meinen OS X-Computern.
Wenn Sie bereits Homebrew haben, ist es einfach, Cask zu bekommen:
brew install caskroom/cask/brew-cask
Jetzt kann ich den cask
Befehl verwenden, um Anwendungen zu installieren. Es macht die gleiche Symlink-verwaltete Freigabephilosophie brew
für die Verwaltung von Dingen. Nehmen wir an, ich wollte Google Chrome:
brew cask install google-chrome
und ich habe es.
Um eine Liste der zur Installation verfügbaren Anwendungen anzuzeigen, tun Sie cask
Folgendes:
brew cask search
Sie können die Anwendungsinstallation jetzt relativ einfach skripten. Selbst wenn ein System nicht brew
darauf verfügt, können Sie Ihrem Skript einfach einen Check-and-Install-Abschnitt hinzufügen, um es bei der ersten Ausführung einzurichten.
webmarc
sudo installer.sh
? Ich bin mir nicht sicher, ob sich das Verhalten ändern wird, aber mal sehen. Schließlich kann es hilfreich sein, wenn Sie das von Ihnen erstellte install.sh-Skript veröffentlichen können.webmarc