Tampilkan Hasil dari perintah Automator-Terminal

9

TL; DR Jika saya membuat .app melalui Automator, bagaimana saya bisa menampilkan hasil skrip shell di jendela dialog atau terminal?

Saya menggunakan Automator untuk menjalankan skrip shell

adb install /Directory/$1.apk

dan jika saya menjalankannya melalui Automator, saya dapat melihat hasilnya (instal berhasil atau tidak dapat menemukan filname.apk atau terminal apa pun yang akan memberi tahu saya). Jika saya menyimpan sebagai aplikasi dan klik dua kali untuk menjalankan, maka saya tidak bisa melihat hasil ini.

Apa yang dapat saya lakukan untuk menampilkan jendela dialog atau terminal yang akan menampilkan hasil skrip yang saya jalankan?

Reed
sumber
Saya menggunakan pertanyaan ini untuk membuat ini: github.com/robertocaldas/AdbInstallService
Roberto

Jawaban:

2

Ada beberapa cara Anda bisa melakukan ini:

  • Menambahkan tindakan Tanya Konfirmasi setelah Run Shell Script one dan gunakan $1di bidang pesan .
  • Menambahkan Run Shell Script lainnya dan jalankanosascript -e 'tell app "System Events" to display dialog "$1"' . Anda harus memilih sebagai argumen pada drop-down input input .
Afremo
sumber
8
Hanya ditampilkan $1dengan salah satu dari metode tersebut.
Reed
@Jakar Saya telah diuji memiliki pertama Run Shell Script tindakan melakukan echo somethingdan itu pasti bekerja. Mungkin Anda Script tidak mengembalikan sesuatu?
Thecafremo
Baik. Saya pikir mungkin ada hubungannya dengan adb(bagian dari SDK pengembang Android), karena ada output di Terminal setelah saya menjalankan perintah itu, tetapi tidak melalui skrip automator.
Reed
Sedikit modifikasi untuk menangani interpolasi string osascript -e 'kirim app "System Events" untuk menampilkan dialog "'" $ 1 "'"'
bingles
20

Jika Anda hanya memiliki beberapa baris output , Anda ingin menetapkannya ke variabel dan kemudian menampilkan dialog konfirmasi yang menunjukkan output.

  1. tambah Aksi "Tetapkan Nilai Variabel"
  2. masukkan variabel baru, mis output
  3. tambahkan Aksi "Minta Konfirmasi"
  4. di bidang pesan, masukkan nama variabel yang dinyatakan di atas. Saat mengetik nama variabel, Automator akan menyarankan untuk melengkapi nama variabel. Terima dengan menekan tombol Enter. Ini mencegah Automator menafsirkan nama variabel sebagai pesan teks biasa.

Ini akan terlihat seperti ini: Automator dengan output teks

NB: Saya juga mencoba $1pendekatan itu, tetapi tidak berhasil.

Jika Anda memiliki banyak baris output , Anda harus mengarahkan semua output ke dokumen TextEdit baru. Untuk melakukannya, cukup tambahkan Tindakan "Dokumen TextEdit Baru" setelah tindakan skrip Anda.

Ini mungkin terlihat seperti ini: Teks Baru Edit tindakan dokumen

Petunjuk: pesan diagnostik sering di-output ke kesalahan standar. Untuk juga mengumpulkan pengiriman teks ke kesalahan standar, tambahkan exec 2>&1di bagian atas skrip bash Anda.

Daniel K.
sumber
1
wow persis apa yang saya butuhkan!
code4j
1
solusi ini bekerja untuk saya sedangkan versi yang diterima tidak
Ilias Karim
ini sangat berguna bagi saya dan menjelaskan mengapa saya tidak bisa mendapatkan nilai output. pekerjaan hebat
CommentLuv
Apakah ini dapat dimodifikasi untuk membuka dokumen Text Mate ?
Greg
1

Perlu menggunakan "Tetapkan Nilai Variabel"

masukkan deskripsi gambar di sini

ChanOnly123
sumber
Tergoda untuk memilih mundur karena ini hanya duplikat dari jawaban Daniel K, kecuali dengan informasi yang lebih sedikit ...
adfaklsdjf