Pesquisa de site

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:

  1. Abra um novo AppleScript com o Editor de Script.
  2. Inicie o AppleScript com o manipulador

             open dropped_file
        
  3. 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.

  4. Finalize o restante do seu roteiro, usando

            
        
             open
        
  5. ou a sintaxe regular do AppleScript. Certifique-se de fechar seu script com to close out the handler.

  6. Salve seu AppleScript como um aplicativo, conforme explicado acima.

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.

Artigos relacionados