Ergebnisse des Automator-Terminal-Befehls anzeigen

TL;DR Wenn ich eine .app über Automator erstelle, wie kann ich Ergebnisse eines Shell-Skripts in einem Dialog- oder Terminalfenster anzeigen?

Ich verwende Automator, um ein Shell-Skript auszuführen

adb install /Directory/$1.apk

und wenn ich es über Automator ausführe, kann ich die Ergebnisse sehen (Installation erfolgreich oder kann filname.apk nicht finden oder was auch immer Terminal mir sagen würde). Wenn ich als App speichere und zum Ausführen doppelklicke, kann ich diese Ergebnisse nicht sehen.

Was kann ich tun, um ein Dialog- oder Terminalfenster anzuzeigen, das die Ergebnisse des von mir ausgeführten Skripts anzeigt?

Ich habe diese Frage verwendet, um dies zu erstellen: github.com/robertocaldas/AdbInstallService

Antworten (4)

Es gibt ein paar Möglichkeiten, wie Sie dies tun können:

  • Hinzufügen einer Aktion „Nach Bestätigung fragen “ nach der Aktion „ Run Shell Script “ und Verwendung $1im Nachrichtenfeld .
  • Hinzufügen eines weiteren Run Shell Script und Ausführen von osascript -e 'tell app "System Events" to display dialog "$1"'. Sie müssen als Argument im Drop-down -Menü für die Pass-Eingabe auswählen .
$1Es wird nur mit einer dieser Methoden angezeigt .
@Jakar Ich habe es mit der ersten Run Shell Script -Aktion getestet echo somethingund es funktioniert definitiv. Vielleicht gibt Ihr Skript etwas nicht zurück?
Okay. Ich denke, es könnte etwas mit adb(Teil des Android-Entwickler-SDK) zu tun haben, da es eine Ausgabe im Terminal gibt, nachdem ich diesen Befehl ausgeführt habe, aber nicht über das Automator-Skript.
Leichte Modifikation zur Behandlung der Zeichenfolgeninterpolation osascript -e 'app "System Events" mitteilen, dass der Dialog "'"$1"'" angezeigt wird

Wenn Sie nur wenige Ausgabezeilen haben, möchten Sie diese einer Variablen zuweisen und dann einen Bestätigungsdialog mit der Ausgabe anzeigen.

  1. Aktion "Variablenwert setzen" hinzufügen
  2. Geben Sie eine neue Variable ein, zoutput
  3. Aktion "Nach Bestätigung fragen" hinzufügen
  4. Geben Sie im Nachrichtenfeld den oben deklarierten Variablennamen ein. Während Sie den Variablennamen eingeben, schlägt Automator vor, den Variablennamen zu vervollständigen. Akzeptieren Sie durch Drücken der Eingabetaste. Dadurch wird verhindert, dass Automator den Variablennamen als Klartextnachricht interpretiert.

Das wird so aussehen:Automator mit Textausgabe

NB: Ich habe den $1Ansatz auch versucht, aber es ist mir nicht gelungen.

Wenn Sie viele Ausgabezeilen haben, sollten Sie die gesamte Ausgabe in ein neues TextEdit-Dokument leiten. Fügen Sie dazu einfach die Aktion "Neues TextEdit-Dokument" nach Ihrer Skriptaktion hinzu.

Das kann so aussehen:Neue Dokumentaktion Text bearbeiten

Hinweis: Diagnosemeldungen werden oft als Standardfehler ausgegeben. Um auch Text zu erfassen, der an Standardfehler gesendet wird, fügen exec 2>&1Sie oben in Ihrem Bash-Skript hinzu.

wow genau was ich brauchte!
Diese Lösung hat bei mir funktioniert, während die akzeptierte Version dies nicht tat
Das war wirklich nützlich für mich und erklärte, warum ich den Wert der Ausgabe nicht erhalten konnte. gut gemacht
Kann dies geändert werden, um ein Text Mate- Dokument zu öffnen?

Muss "Set Value of Variable" verwenden

Geben Sie hier die Bildbeschreibung ein

Ich bin versucht, abzustimmen, weil dies nur ein Duplikat von Daniel Ks Antwort ist, außer mit weniger Informationen ...
  1. Aktion "AppleScript ausführen" hinzufügen
  2. Fügen Sie dieses Skript ein:
on run {input, parameters}
    display dialog input
end run
display dialogist ein Teil von Standard Additions in AppleScript und muss in diesem Anwendungsfall absolut nicht tell application "System Events" toverwendet werden.
@ user3439894 Danke, das ist knapper. Bearbeitet.