• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Automator: Shell Skript + Variable

Obstschale

Jamba
Registriert
17.09.07
Beiträge
55
Hallo,

ich habe ein Terminalbefehl und ich dachte es wäre praktisch ein Automatorprogramm dafür zu haben. Aber da ich noch nie mit Automator gearbeitet habe und auch noch Goolge Suche und Co. kein Ergebnis habe frage ich einfach mal nach.

Am besten ich erkläre was ich will.
Es geht um eine Datei die dekodiert werden soll. Ich möchte das ich einfach die Datei auf das Automator-Programm ziehe oder dann via Finder-Plugin das ausführe. Das Programm muss dann das Terminal starte und einen Teil des Befehls eintippen dann den Pfad der Datei einfügen und dann den Rest des Befehls eintippen und am schluss noch auf Enter drücken. Danach sollte das Terminal arbeiten und die Dekodierte Datei ausgeben.
Am Schluss sollte dann noch die Ursprungsdatei gelöscht werden - aber das ist ja nicht so schwer.

Ich dachte man könnte das ganze mit eine Variablen lösen. Aber 2 Probleme tretten dabei auf: 1. Ich weiß nicht wie ich den Pfad der Datei als Variable speichere und 2. wie kann ich die Variable in den Terminal Befehl einfügen?

Ich danke jeden der mit Hilf :D
Gruß, obstschale
 

LittlePixel

Strauwalds neue Goldparmäne
Registriert
09.07.08
Beiträge
641
Hallo,

- Skript > 1. Zeile > "on open fileList" > siehe Droplet
- Schleife abarbeiten mit "do shell script" > Dein Befehl
- Löschen via Finder oder rm

Viele Grüße
 

Obstschale

Jamba
Registriert
17.09.07
Beiträge
55
könntest du das für mich genauer erkläre? Irgendwie versteh ich das nicht und zudem weiß ich nicht wie du dir die Schleife vorstellst.

Vielen Dank
 

LittlePixel

Strauwalds neue Goldparmäne
Registriert
09.07.08
Beiträge
641
• SkriptEditor öffnen
• Code eingeben

on open fileList

repeat with nFile in fileList
do shell script "hier meine shell anweisung" -- posix path of nFile
end repeat

end open
• anpassen

Bitte auf Grund der Stichworte die Suche bemühen.
Es ist alles vor Ort ;)

Viele Grüße
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Warum postest Du keine Details um welchen Befehle es sich handelt, oder was wirklich passieren soll? Stattdessen eierst Du um die von Dir vermeintliche Problemlösung herum als wäre es ein Staatsgeheimnis. So kann man Dir nicht helfen wenn Du nichtmal preisgibst was Du überhaupt vorhast.
Gruß Pepi
 

Obstschale

Jamba
Registriert
17.09.07
Beiträge
55
Servus Pepi,

nicht weinen! ich habe es nicht böse gemeint ^^ Im prinzip ist es egal was man in so ein Forum rein schreibt einer meckert immer. Ich hatte es schon oft, das Leute gemeckert haben das ich zuviele Infos gebe und so ist es unübersichtlich und du meckerst das ich zu wenige Infos gebe. Ich kann dir gerne sagen um was es geht.

Ich bin beim Online Dienst OnlineTvRecording.com angemeldet und damit kann ich TV Sendungen aufnehmen. Die Datei die dabei auf genommen wird hat ein eigenes Format das ich erst dekodieren muss. Um es zu dekodieren gibt es extra ein Terminal Programm und in der Read-Me Datei steht der folgende Befehl drin:

<Ordner von OTR Programm> -i <Name der zu dekodierenden Datei> -o <Zielverzeichnis> -e <eMail> -p <Passwort>

(eMail und Password sind die Daten vom Dienst, man kann nämlich nur die Dateien dekodieren die man auch aufgenommen hat. Und so wird das nachgeprüft).

Ich weiß ja jetzt nicht wirklich ob das dir weiter Hilft, aber bitte schön :D

Auch noch was wenn jetzt einer kommt und sagt: benutze doch OTRDecoderX (http://www.markusweimar.de/software/) dann sage ich. Ich will kein fertiges Programm ich will es selber machen und auch was lernen ;D Also vielleicht noch mal für alle: Mein Ziel ist ein eigenes Programm (und sei es mit Hilfe) zu erstellen und kein fertiges Programm zu nehmen.

Danke aber pepi für deinen Interesse ich weiß viele übergehen dass dann einfach, wenn es ihnen nicht passt. Also ich schätzte deine Offenheit!

LG
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
So kann man langsam eine Idee bekommen worum es überhaupt geht. Ich hab hier noch ein (ewig altes) q'n'd Skript um zu dekodieren.

Code:
#!/bin/sh
#
# otr decoder, shell wrapper for online TV recorder CLI command to
# decode .otrkey files
# Quick and Dirty Hack, by Pepi Zawodsky (2005.11.27)
# Provided as is, no warranties whatsoever.

# Set otrUsername to your Online TV Recorder eMail Address
otrUsername="[email protected]"

# Set otrPassword to the OnlineTV Recorder Password you use to login
otrPassword="DeinSuperGeheimesPasswort"

# Set otrDecoderPath to the POSIX Path where the otrdecoder binary is located
otrDecoderPath="$HOME/bin/otrdecoder/otrdecoder"

# Set otrOutPutLocation to the Folder where the decoded files shall be stored
otrOutPutPath="$HOME/Movies/OTR/"

echo The Movie file $1 will be decoded and saved in $outPutLocation
$otrDecoderPath -i $1 -e $otrUsername -p $otrPassword -o "$otrOutPutPath"
open $otrOutPutPath

#EOF

Wenn Du nachher noch den Rückgabewert von [tt]otrdecoder[/tt] auswertest, kannst Du sogar noch eine sinnvolle Meldung per Mail senden. Ich halte es persönlich für sehr unnötig da ein Mail zu verschicken, da es so schnell geht, daß sich das kaum auszahlt. Growl finde ich dafür besser geeignet, was aber auch kein Problem ist.

Ja, das Passwort da im Klartext reinzukodieren ist sehr unelegant, aber immer noch besser als es als Parameter zu übergeben wo es über die Prozessliste ausgelesen werden kann. Korrekterweise müßte man es über [tt]security[/tt] aus dem Schlüsselbund holen.

Das Commandline binary [tt]otrdecoder[/tt] ist beim GUI App dabei und wird von diesem Skript benötigt. [tt]PATH[/tt] kamma ja simpelst anpassen.
Wäre wohl ideal als Applescript Droplet zu realisieren, da halte ich Automator schon für ein zu großes Geschütz.

Wie Du Variablen aus AppleScript an ein Shell Skript übergeben kannst, ist in der Doku zum AppleScript Befehl [tt]doshellscript[/tt] nachzulesen, bzw. in dessen SampleCode.
Gruß Pepi
 

Obstschale

Jamba
Registriert
17.09.07
Beiträge
55
Wow vielen Dank!

Aber eine Frage noch: Ich bin ja nicht der Typ das alles vorgekaut haben will aber ich würde noch gerne wissen, wo finde ich diese Doku zu den befehl "doshellscript" ?? Bzw. Wo ist der SampleCode?

Vielen Dank
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Schau mal in die Hilfe vom ScriptEditor! Alternativ kann ich auch den wenig naheliegenden Versuch über die Internetsuchmaschine Deiner Präferenz empfehlen. Just f***ing google it!
Gruß Pepi
 

Obstschale

Jamba
Registriert
17.09.07
Beiträge
55
Ich bin ja nicht blöd aber bei mir finde ich weder über die Hilfe von SkriptEditor noch über Google was wenn ich "doshellscript" eintippe. Und auch auf der offiziellen AppleScript SampleCode Seite gibt es keinen Code der dazu passen könnte. Oder die benutzen einfach einen anderen namen.

Update: Ok sorry mein Fehler ich habe nur über die Hilfe Box gesucht aber nicht selber im Hilfe Menü. ich habs gefunden (aber dennoch nicht über googel :p) ^^