Automator: spustiť command-line nad označeným súborom
Označím vo Finderi nejaké súbory a chcem na ne poštvať nejaký binárny „command-line“. Povedzme, že mam binárku kindlegen, ktorá konvertuje ePub na mobi. Robí to nasledovne.
[code]kindlegen nejaky.epub[/code]
vytvorí nejaky.mobi
Toto sa mi ale samozrejme nechce vyťukávať na konzole a napriek presvedčeniu Windozákov, command-line idioti nevyťukávajú nezmysly do konzoly dokola a dokola.
V skutočnosti sa snažia to „uskriptovať“.
Uložte binárku kindlegen do zložky Applications.
V OS X teda chcem označiť vo Finderi ePuby a „cez pravé tlačítko“ spustiť „Service“ (nie ako Windows) ale ako kontextový príkaz. V tom „príkaze“ bude „skript“. No a ten si vytvorím v Automatore.
Spustíte Automator. Vyberte Service. Nájdite Get Selected Finder Items. V parametroch nastavte Service receive selected files or folders.
Pridajte Run Shell Script a Pass input nastavte na as arguments.
Shell nechajte na bash.
Vložte tento skript
[code]for f in "$@"
do
/Applications/kindlegen "$f"
done
exit 0[/code]
Vysvetlenie: cyklus for obslúži všetky označené súbory. Postupne ich teda ako parameter $f pridáva a spúšta kindlegen. Na konci vracia exit 0 aby nevyskakovali aj tak nezaujímavé chybové hlásenia.
Uložte Automator akciu a nazvite ju trebárs ePub to mobi.
Potom vo Finderi nájdete nejaký epub a cez pravé tlačítko v Services nájdite túto novú akciu.
Ďalšie štúdium mac developer