Como Transformar Scripts Bash em Aplicativos Clicáveis Usando AppleScript
Diga que você é um gênio em scripts bash que adora automatizar tarefas para seus amigos e familiares que têm menos conhecimento técnico. Mesmo que você tenha dado a eles um script que resolve completamente o problema deles, eles ainda podem ficar ansiosos em usar o Terminal sozinhos. Nesse caso, você pode muito bem fazer tudo manualmente para eles.
Felizmente, AppleScript é uma linguagem amigável que pode facilmente transformar seus scripts em algo que seja tanto compartilhável quanto amigável para a interface gráfica.
Introdução ao AppleScript
AppleScript é uma linguagem de programação antiga que remonta ao Mac OS 7. Foi projetada como uma linguagem fácil e legível pelos padrões dos usuários na década de 1980. Seu principal propósito é interagir com o Finder para automatizar fluxos de trabalho.
Você pode usá-lo para transformar um fluxo de trabalho complexo, como um script bash ou a modificação de um arquivo de preferências, e simplificá-lo a nada mais do que o clique de um botão. Você também pode receber entrada na forma de arquivos que você arrasta e solta sobre ele.
Nota: Comece com nosso guia introdutório sobre a sintaxe e fluxo de trabalho do AppleScript.
A ferramenta Editor de Script na sua pasta Utilitários é um editor de texto e IDE para AppleScript que ajudará você a escrever um AppleScript funcional. O item de menu Ajuda é um recurso inestimável. Use-o para carregar o Guia de Linguagem AppleScript.
Você também pode ir em Janela > Biblioteca para obter uma lista de todos os comandos possíveis do AppleScript.
Torne seus scripts Bash clicáveis com AppleScript
O Bash pode ajudá-lo a interagir com seu Mac de uma maneira cirúrgica e hiper-específica. É possível criar scripts para quase tudo que você deseja fazer em sua máquina.
Normalmente, se você quiser executar um script bash, precisa garantir que ele tenha permissões de execução. Em seguida, você deve abrir o Terminal, navegar até o caminho do script e pressionar Enter para executá-lo. Com o AppleScript, no entanto, você pode executar seus scripts bash com um rápido clique duplo.
O comando "do shell script"
Adicionar seu script bash ao AppleScript é um processo simples. Primeiro, vá para Aplicativos > Utilitários > Editor de Script para abrir um novo AppleScript. Em seguida, escolha um local para o seu script finalizado e clique em Novo Documento. Você verá uma janela de editor em branco.
Prepare um script bash usando seu editor de texto favorito do macOS, ou faça isso diretamente no Editor de Scripts. Quando estiver pronto, adicione-o usando o
do shell script
comando. Você pode enviar um comando usando:
do shell script "Command"
Adicione um ponto e vírgula (;) para enviar múltiplos comandos, como em:
do shell script "Command1; Command 2"
Para se referir a um script bash existente que está em outro lugar, basta usar:
do shell script "/path/to/your/script.sh"
Se você quiser executar um comando que requer privilégios de administrador, pode configurá-los no AppleScript primeiro, assim:
do shell script "command" user name "USER" password "PASSWORD" with administrator privileges
Clique no botão Reproduzir para executar seu AppleScript e verificar se há erros de sintaxe. Por fim, salve seu AppleScript; sob Formato do Arquivo, escolha Aplicativo. Isso permitirá que você clique duas vezes para executá-lo.
Inverta na Bash
Como uma nota lateral, e se você quisesse fazer o inverso e adicionar comandos AppleScript ao seu script bash? Bem, você também pode fazer isso!
Em seus scripts bash, você pode adicionar um
osascript
comando, seguido pelo seu AppleScript, para adicionar elementos divertidos como entrada do usuário ou banners de alerta.
Usando Gotas de AppleScript
Digamos que você tenha um monte de fotos que precisa redimensionar para se preparar para o seu blog, ou você quer organizar todos os seus arquivos por tipo. Você pode escrever scripts para realizar essas ações, mas um script bash tradicional exige que você escreva o caminho completo de cada arquivo que deseja manipular toda vez que quiser fazê-lo. Isso pode se tornar cansativo ao lidar com um grande lote de arquivos.
Felizmente, você pode configurar um AppleScript que só requer que você arraste seu arquivo-alvo sobre ele para executá-lo como entrada. Esses AppleScripts especiais são chamados de Droplets. Veja como criar um:
- Abra um novo AppleScript com o Editor de Script.
Inicie o AppleScript com o manipulador
open dropped_fileFinalize o restante do seu roteiro, usando
open- Salve seu AppleScript como um aplicativo, conforme explicado acima.
Você pode chamar o dropped_file de qualquer coisa que quiser. AppleScript o usará como uma variável que é atribuída ao arquivo que você soltou.
ou a sintaxe regular do AppleScript. Certifique-se de fechar seu script com to close out the handler.
Agora você pode arrastar e soltar arquivos diretamente em seus scripts.
Um Exemplo de Script AppleScript
O exemplo abaixo mostra essas duas funcionalidades úteis em ação.
Altere as permissões de qualquer arquivo arrastado e solto
Digamos que você queira fornecer um arquivo, script ou documento para um amigo e deseja ter certeza de que ele não poderá mexer nele. Usando este script, você pode facilmente retirar as permissões de gravação de qualquer arquivo para fornecer a ele uma versão somente leitura.
Tenha em mente que, quando você arrasta um arquivo sobre um Droplet, seu nome de caminho é lido pelo AppleScript no formato HFS (Sistema de Arquivos Hierárquico). Isso usa dois pontos e não escapa espaços, então um arquivo na sua área de trabalho é lido como:
Macintosh HD:Users:jdoe:Desktop:myfile
O Bash usa um padrão de caminho diferente chamado POSIX, então o mesmo arquivo no bash é lido como
Macintosh\ HD/Users/jdoe/Desktop/myfile
O script abaixo converte o nome do arquivo para o padrão de caminho apropriado antes de alterar as permissões nele:
on open dropped_file
set bash_path_file to the POSIX path of dropped_file
do shell script "chmod -R -w " & quoted form of bash_path_file
end open
Use o Automator para uma Automação Melhor no Mac
Agora que você despertou o interesse por automação, sacie-o mergulhando no Automator do seu Mac. O Automator e o AppleScript têm muitas semelhanças. Se você está apenas começando no mundo da script e automação, pode achar o Automator uma porta de entrada mais fácil. Em vez de uma linguagem de programação legível, o Automator utiliza bolhas intuitivas de arrastar e soltar e uma interface fácil de aprender para simplificar suas tarefas mundanas.

