Ich vereinfache das Erstellen einer .deb-Datei mit Automator. Ich habe derzeit ein Shell-Skript, das einige einfache Aktionen ausführt -
Das ist alles schön und gut, aber .deb-Dateien müssen eine "Kontroll"-Textdatei mit einigen ausgefüllten Feldern haben, und die Datei muss sich in einem bestimmten Pfad befinden, wobei sich die Datei in einem Unterverzeichnis wie control
diesem DEBIAN
befindet
AppName/DEBIAN/control
Ich möchte die Steuerdatei erstellen, sie im Automator-Workflow ablegen und das Skript mit der Steuerdatei als Eingabeparameter ausführen lassen. Ich würde das Skript benötigen, um "diese Datei zu kopieren AppName/DEBIAN/
und den DEBIAN
Ordner zu erstellen, wenn er nicht existiert.
Where AppName == A specific line from the control file
Kann jemand helfen?
BEARBEITEN: Der Workflow funktioniert jetzt mit einem Fehler: Das zweimalige Ausführen des Workflows führt dazu, dass zwei Kopien der Steuerdatei kopiert werden
Erstellen Sie einen neuen Automator-DIENST. Wählen Sie zu Beginn bei „als Eingabe ausgewählte Empfänge“ „Dokumente“. Fügen Sie den Prozess „Variablenwert festlegen“ hinzu und erstellen Sie eine neue „Zielpfad“-Variable (der standardmäßige Variablenname ist „Zielpfad“). Fügen Sie den Prozess "open finder items" am Anfang hinzu, um die Steuerdatei zu öffnen. Fügen Sie dem Workflow den Prozess „run applescript“ hinzu. Der Code lautet wie folgt:
on run {input, parameters}
set LineNumber to (the line in which the path is specified in the control file)
tell application "TextEdit"
set theVariable to paragraph LineNumber of document 1
set thePath to POSIX path of theVariable
set thePath to text 1 thru -2 of thePath
end tell
return thePath
end run
Ich weiß nicht, warum dies nicht im selben Block sein konnte, aber Sie müssen einen separaten AppleScript-Prozess hinzufügen. Der Code lautet wie folgt:
on run {input, parameters}
tell application "Finder"
set theFolder to POSIX path of input & "/DEBIAN"
try
make new folder in folder input with properties {name:"DEBIAN"}
end try
end tell
return theFolder
end run
Fügen Sie den Prozess „Variablenwert festlegen“ hinzu und erstellen Sie eine neue Zielpfadvariable (Standardname ist „Zielpfad 1“).
Fügen Sie den Prozess "Variablenwert abrufen" hinzu und erhalten Sie den Wert der Variablen mit dem Pfad der Eingabedatei ("Zielpfad"). Klicken Sie in diesem Prozess auf „Optionen“ und aktivieren Sie „Eingabe dieser Aktion ignorieren“.
Danach verfügt Automator über einen Prozess namens "Suchelemente kopieren", mit dem die Eingabe kopiert werden kann (die Ausgabe von "Variablenwert abrufen", die die Eingabedatei darstellt). Das hat bei mir funktioniert, hoffe es funktioniert auch bei dir. Viel Glück :)
kein Hang
Vati
control
Datei per Drag & Drop darauf ziehen möchte, um den Workflow zu starten, muss ich also nichts im Terminal eingeben :-)