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?
Es gibt ein paar Möglichkeiten, wie Sie dies tun können:
$1
im Nachrichtenfeld .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 .$1
Es wird nur mit einer dieser Methoden
angezeigt .echo something
und es funktioniert definitiv. Vielleicht gibt Ihr Skript etwas nicht zurück?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.Wenn Sie nur wenige Ausgabezeilen haben, möchten Sie diese einer Variablen zuweisen und dann einen Bestätigungsdialog mit der Ausgabe anzeigen.
output
Das wird so aussehen:
NB: Ich habe den $1
Ansatz 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:
Hinweis: Diagnosemeldungen werden oft als Standardfehler ausgegeben. Um auch Text zu erfassen, der an Standardfehler gesendet wird, fügen exec 2>&1
Sie oben in Ihrem Bash-Skript hinzu.
on run {input, parameters}
display dialog input
end run
display dialog
ist ein Teil von Standard Additions in AppleScript und muss in diesem Anwendungsfall absolut nicht tell application "System Events" to
verwendet werden.
Roberto