Ya, Automator adalah pilihan terbaik di sini. Untuk membuat layanan ikuti langkah-langkah ini:
Buka Automator dan pilih Layanan:
Cari 'applescript' dan seret tindakan ke panel kanan:
Ubah Service receives selected text
ke Service receives no input
sehingga selalu muncul di menu Layanan:
Ganti (* Your script goes here *)
dengan:
do shell script "/usr/bin/osascript /path/to/your/script.scpt"
jika Anda ingin mengeksekusi .scpt
file yang ada . Perhatikan bahwa osascript tidak dapat menangani interaksi pengguna seperti menampilkan jendela dialog:
Untuk mengatasi batasan ini, gunakan solusi ini atau cukup ganti (* Your script goes here *)
dengan isi skrip Anda.
Simpan itu:
Jika mau, Anda dapat menetapkan pintasan ke layanan baru Anda. Pilih Layanan> Preferensi Layanan di Finder (atau aplikasi terbuka apa pun):
Tetapkan shorcut yang tidak begitu umum:
Sekarang layanan Anda dapat diakses dari aplikasi apa pun melalui pintasan yang Anda tetapkan pada langkah sebelumnya:
Jika Anda ingin menyingkirkan layanan terbuka ~/Library/Services
, hapus layanan dan kosongkan tempat sampah:
osascript
, sebagaimana dijelaskan dalam jawaban lain.osascript
di Automator untuk menjalankan.scpt
file Anda , batasan dan dua solusi.osascript
perlu 4 detik tambahan untuk menjalankan skrip Anda, tetapi Automator bukan penyebab keterlambatan, yang menjadi perhatian saya. Anda mungkin ingin men-debugosascript
, lihat opensourcehacker.com/2011/12/02/… dan stackoverflow.com/questions/31045575/…Dalam skrip, tambahkan
on run
argumen:Kemudian Anda dapat menggunakan tindakan Automator "Run Shell Script", dengan
osascript
perintah:osascript
adalah perintah yang mengeksekusi AppleScript di shell. Anda memerlukan baris dalam skrip untuk memungkinkan skrip dijalankan di luar editor AppleScript.sumber
on run {input, arguments}
formulir khusus , tetapi bahkan dalam Automator Anda hanya dapat menghapus run handler.Mungkin Anda ingin melihat Layanan Ini , yang memungkinkan Anda untuk "membuat layanan Mac OS X dari skrip apa pun."
sumber
Saya tidak akan merekomendasikan membuat layanan Automator untuk menetapkan cara pintas ke skrip. Ada bug di dalam 10.7 dan 10.8 di mana pintasan keyboard untuk layanan Automator tidak selalu berfungsi sampai Anda mengarahkan kursor ke menu layanan dari bilah menu. Ada juga penundaan yang relatif lama (mungkin 0,1 hingga 1 detik) sebelum layanan dijalankan.
Lihat jawaban ini untuk cara lain untuk menetapkan pintasan keyboard ke skrip. Saya menggunakan FastScripts dan Alfred sendiri.
sumber
Anda dapat MENJALANKAN skrip yang ada dengan layanan automator sederhana seperti ini. Dan tetapkan pintasan Anda dari dalam pintasan keyboard seperti biasa. Ingat saja beberapa aplikasi mungkin harus diluncurkan kembali sebelum mereka mengambil pintasan.
contoh.
skrip sayHello:
Layanan automator:
Yang dalam contoh ini menggunakan:
Action adalah Run Shell Script . Kode hanya menggunakan perintah unix osascript dan path ke file. Masukan lulus dapat ke stdn atau ke argumen
Itu tidak ada yang perlu dilakukan untuk script.
Untuk perincian lebih lanjut tentang perintah osascript, lihat halaman manual untuknya. Halaman manual memberikan contoh lain di mana Anda bisa menyampaikan argumen ke skrip.
sumber
Untuk mengembangkan Layanan, Anda memerlukan beberapa jenis perangkat lunak yang akan membuat Layanan seperti salah satu dari yang berikut:
Semua jenis layanan di atas adalah paket. Itu semua adalah folder yang berisi daftar yang menentukan atribut-atribut Layanan.
Inilah cara saya membuat Layanan menggunakan Automator yang menggunakan tindakan Automator "Jalankan AppleScript" untuk memanggil skrip yang ada.
sumber