Guide for Apple IT: Introduction to Mac Scripting

Guide for Apple IT: Introduction to Mac Scripting

neste guia amigável para iniciantes, vamos levá-lo através dos blocos de construção do Mac scripting, e então veremos como usar scripts com sua solução de gerenciamento de dispositivos móveis (MDM) pode ajudá-lo a gerenciar mais eficazmente os dispositivos pertencentes à empresa.

Aqui está uma rápida visão geral de alguns dos tópicos que vamos cobrir:

  • O que são Scripts?
  • usando programas com uma solução MDM
  • comandos de Terminal vs. scripts Shell
  • O que são Shells: Bash vs. Zsh?,
  • básico de Scripting com Bash

O que são Scripts?Scripts

são pequenos programas de computador que coletam uma série de comandos em um arquivo. Enquanto digitar comandos no Terminal da Apple é tipicamente feito um a um, com um script, você pode executar uma longa lista de comandos com apenas uma interação.

embora normalmente não use scripts Mac para fazer programas maiores, você pode usá-los para automatizar comportamentos de computador de rotina. Por exemplo, se você tem uma rotina demorada que leva um monte de cliques, você pode escrever um script e fazê-lo com apenas um.,

A Apple coloca-o bem no seu script Shell:

escrever um script shell é como andar de bicicleta. No início, caíste e raspaste muito os joelhos. Com um pouco mais de experiência, você se torna confortável montá-los ao redor da cidade, mas também rapidamente descobrir por que a maioria das pessoas dirigir carros para viagens mais longas.

Shell scripting é geralmente considerado uma linguagem de cola, ideal para criar pequenas peças de código que conectam Outras ferramentas juntas. Enquanto scripts shell podem ser usados para tarefas mais complexas, eles geralmente não são a melhor escolha.,

aprender como escrever é semelhante à aprendizagem de uma linguagem de programação. Você começa com o básico e constrói o seu conhecimento a partir daí.

assim, neste guia, vamos nos concentrar nos blocos de construção do scripting. A informação que cobrimos aqui será útil em muitas configurações, mas, em última análise, vamos focar em como o scripting pode ajudá-lo a realizar ações em vários dispositivos usando uma solução MDM.

o que podem os Scripts fazer?

essencialmente, scripts permitem que você faça coisas complicadas de forma rápida, precisa e fácil.,

  • rapidamente porque usar scripts Mac em um MDM pode automatizar tarefas tediosas, como acessar um programa de computador em 100 dispositivos da empresa – com cliques zero em vez de 100.
  • com precisão porque um bom script irá executar uma ação definida da mesma forma todas as vezes – ao mesmo tempo em que confiar numa pessoa para completar a tarefa manualmente pode levar a erros, inconsistência e confusão.
  • facilmente porque você pode realizar uma tarefa realmente complicada e matizada com uma série de scripts simples que a dividem em peças menores.,

Usando Scripts com uma Solução MDM

Usando scripts por conta própria pode ajudar você a economizar tempo, mas usá-los com uma solução MDM, como o nosso produto Kandji, abre muito mais poder e liberdade. Depois de escrever um script que você gosta, você pode executá-lo através de sua solução MDM para aplicá-lo a todos os dispositivos de sua empresa.

Como os scripts são usados em soluções MDM serão diferentes dependendo do produto, mas com Kandji você pode usá-los para fazer coisas como personalizar instalação de app personalizado para atender as necessidades exatas de sua empresa., (Você pode ler o nosso guia para a implantação de aplicativos Se você precisa de um primer sobre isso.)

neste caso, se a sua empresa deseja instalar um aplicativo personalizado em todas as empresa de dispositivos, você pode especificar determinados pré-instalação ou postinstall ações adicionando scripts para suas respectivas caixas de entrada (veja na imagem abaixo):

Pré-instalação de Scripts

Você pode criar um script de pré-instalação, se você deseja executar uma ação antes da instalação ocorre., Os scripts préinstall são geralmente usados para:

  • executar tarefas de limpeza que normalmente seriam feitas manualmente antes de reinstalar o software, tais como remover licenciamento, caches, arquivos de banco de dados, e muito mais.
  • execute os ficheiros de configuração. Muitas aplicações empregam opções de implantação em massa que funcionam encontrando arquivos de configuração colocados antes do instalador ser executado. Por exemplo, você pode usar um script de pré-instalação para criar uma pasta em particular, e escrever um arquivo dentro dessa pasta contendo algum tipo de identificador., Quando a instalação ocorre, o instalador encontra esta informação e usa-a para configurar automaticamente a aplicação.

programas de Postinstall

Você também pode criar um programa de postinstall, que é geralmente usado para configurar as preferências da aplicação antes que o software seja executado. Para compartilhar um exemplo comum, você pode usar um script posinstall para configurar as preferências do Usuário para o Google Chrome, e garantir que atualizações automáticas sejam configuradas.,

Como pode imaginar, programar estes comportamentos dá-lhe muito mais controlo sobre o processo de instalação, e pode poupar muito tempo à sua equipa de TI se tiver de o fazer manualmente de outra forma.

Scripts personalizados

Kandji também tem um recurso de Script personalizado que permite adicionar qualquer script suportado por macOS. Estes scripts Mac podem ser executados uma vez por dispositivo ou continuamente. Há também uma opção de script de remediação que você pode incluir quando necessário., Você pode ver mais das opções disponíveis na página de Script Personalizado de Kandji abaixo:

Blocos de construção de Scripting

Agora que temos uma definição de trabalho de quais scripts são e saber o que eles podem realizar, vamos aprender como tudo funciona. Nesta seção, vamos quebrar alguns dos principais blocos de construção do Mac scripting, incluindo comandos de Terminal, scripts de shell, e duas conchas comuns.

o que são comandos de Terminal?

Terminal é a interface da linha de comandos macOS (CLI)., Ele permite que os usuários façam modificações avançadas em seu Mac usando comandos, que são apenas instruções para o seu Mac sobre o que você quer que ele faça.fonte da imagem: support.apple.com

uma palavra de aviso, no entanto: Terminal é uma ferramenta incrivelmente poderosa. Pesquisar exaustivamente e testar comandos antes de executá-los, e quando possível, testar com um VM em vez de uma máquina de produção.

Quando você digita comandos no Terminal, ele permite que você se comunique com um interpretador, ou shell. O intérprete pega no código e traduz-lo em linguagem de máquina que o SO pode entender.,

para abrir o Terminal, basta clicar em “Applications”, abrir a pasta” Utilities “e, em seguida, clicar duas vezes sobre a aplicação” Terminal”. Você pode usar comandos terminais para qualquer coisa que você pode realizar na interface gráfica-e muito mais.,

Aqui estão alguns exemplos básicos de comandos:

  • Adicionar texto a um documento (se o documento não existir, um novo será criado)
echo 'Welcome to my document!' > ~/Desktop/myDocument.txt
  • criar uma pasta em um determinado local
mkdir ~/Desktop/myFolder
  • Mover um documento para uma determinada localização
mv ~/Desktop/myDocument.txt ~Desktop/myFolder
  • Abra um documento em um determinado local
open ~/Desktop/myFolder/myDocument.txt

Esta é uma ótima maneira de ver como você pode usar os comandos para fazer o seu Mac de executar certos comportamentos, mas não é muito prático, se você deseja executar uma série de tarefas., Veremos como os Guiões tornam isto possível na próxima secção.

o que são Scripts Mac Shell?

claro, ligar comandos Terminais um a um tornar-se-á bastante tedioso quando estiver a tentar introduzir alterações para centenas de dispositivos Mac da empresa. Então, ao invés de executar comandos individuais como o nosso exemplo na última seção, você pode transformar todos os seus comandos em um script – um script shell – que pode executar sem interação direta. Isso torna mais fácil executar processos repetitivos ou multi-etapas, minimizando o erro.,

um script shell é apenas um arquivo de texto contendo comandos UNIX (comandos que falam com o seu sistema operacional – macOS é um sistema operacional baseado em UNIX). Tudo o que você pode fazer com comandos de Terminal você pode fazer com scripts Mac shell, apenas muito mais facilmente. Você pode até automatizar scripts de shell com ferramentas como o launchd.

execute Shell Script: Mac Terminal

é realmente muito simples executar um script shell. Se fizéssemos um script Mac com os comandos de Terminal introduzidos acima, teríamos que fazer isto:

  1. Tipo #!/ bin / bash na primeira linha., Os dois primeiros personagens, chamados de “shebang” (#!), let Terminal know that you’re typing a shell script. O resto da linha especifica com que shell os scripts devem ser executados. Neste caso, é bash, mas você também pode especificar “zsh”, que é outra concha que também vamos cobrir na próxima seção.
  2. adicione os comandos num editor de programas. Assim como processadores de texto são especializados para escrita, editores de script são especializados para scripting, fazendo coisas como palavras de codificação de cores de certas categorias funcionais e erros de sinalização., Existem muitos editores de script por aí, mas dois dos mais populares (e livres) são Atom e bbedit.
  3. Salve-o como ” myscript.bash ” ou como qualquer outro nome – certifique-se apenas de manter a extensão de arquivo (a parte após o período) rotulada como bash. Caso contrário, o Terminal não será capaz de o executar correctamente.
  4. autorize o Terminal para executar o seu programa. Agora você só precisa dar permissão de Terminal para executar o seu script., Não copie e cole o conteúdo – você precisa dizer ao Terminal para fazer o arquivo de script executável usando o chmod +x comando, por exemplo:
    chmod +x ~/Desktop/myFolder/myscript.bash
  5. Pressione “enter” para executar o shell script. O Terminal do Mac trata do resto!

é isso – o programa irá executar a lista de comandos em ordem. Provavelmente vai acontecer mais rápido do que você pode seguir, mas isso é apenas mais um benefício do Mac scripting – é muito rápido.,

Antes de falar sobre outras coisas que você pode fazer com scripts, vamos obter uma visão geral do que são os shells (como “bash”, o que usamos neste exemplo).o que são conchas?

quando você abre o Terminal, o sistema lança um programa de shell. Shells são intérpretes de linha de comando que, simplificando, significa que eles pegam seus comandos e os entregam ao sistema operacional para colocar em ação.

Por padrão, Mac usa tanto zsh (z shell) ou bash (Bourne-again Shell) como o Shell ou interpretador de linha de comando. A concha padrão do seu Mac vai depender da iteração de macOS que você está usando.,

  • zsh (Mac Catalina): se criou uma nova conta de utilizador na macOS Catalina beta ou mais tarde, então a sua linha de comandos por omissão é a zsh. iterações de macOS antes deste Uso bash.
  • bash( macOS anteriores): se você está usando macOS Mojave e mais cedo, então bash é a sua linha de comandos padrão.

se a sua conta usa uma shell predefinida bash ou zsh Mac, poderá alterá-la em apenas alguns passos., Aqui está o que você precisa fazer:

  1. Clique no menu Apple
  2. selecione Preferências do Sistema > Usuários & Grupos
  3. Clique no cadeado e digite seu nome de conta e senha.
  4. Controle-clique em seu nome de usuário na lista de usuários > Escolher Opções Avançadas
  5. Olhar para o “shell de início de sessão” no menu e escolha um shell
  6. Clique em OK quando você encontrou o shell que você queira

Bash vs., Zsh: Mac Scripting

Bash e zsh realmente têm um monte de recursos em comum, e você pode mudar de um para o outro sem acertar muito de uma curva de aprendizagem. Então, antes de entrarmos no que os torna diferentes, vamos ver alguns lugares onde eles se sobrepõem.

  • Z Comando: O Comando Z permite aos programadores navegar pelos seus directórios facilmente, dando-lhes a capacidade de visitar um directório recentemente ou frequentemente visitado, escrevendo “z” seguido pelo nome do directório., Isto é mais rápido do que digitar a localização completa, como tínhamos de fazer quando abrimos o documento na secção de comando do terminal.
  • Auto-completação: ambas as linhas de comandos também incluem uma funcionalidade auto-completa da linha de comandos. Para usar este recurso, basta digitar um comando, carregar na tecla “-” e, em seguida, carregar na página. Você vai ver uma lista de opções disponíveis para o comando, que você pode passar até encontrar o que você quer.,
  • auto-correcção: ambas as camadas usam uma forma de auto-correcção, mas a funcionalidade de bash tem de ser activada primeiro, enquanto o zsh tem uma funcionalidade de auto-correcção incorporada que irá detectar automaticamente pequenos erros.
  • Color-Customization: ambos zsh e bash oferecem um monte de ferramentas de personalização de cores que tornam a compreensão do script mais fácil em um piscar de olhos.

Quando se trata de diferenças, bash tem sido o shell padrão para usuários macOS até Catalina, e ainda é o shell mais amplamente usado entre os administradores de TI., Porque o bash tem muitos seguidores, há muitos recursos lá fora, tornando-o óptimo para principiantes.Bash é parte da família Bourne de conchas, uma categoria que também inclui sh, ash, zsh e ksh. É carregado com mais recursos do que podemos realisticamente listar aqui, mas algumas de suas funções únicas incluem looping, construções condicionais, tilde e brace expansões, e pseudônimos.,Zsh, o shell padrão de Mac Catalina, por outro lado, não é tão popular quanto bash, mas ainda tem muitos seguidores, incluindo frameworks de código aberto como Oh My Zsh, e é amplamente elogiado por sua funcionalidade. O Zsh oferece algumas características únicas, como a globulação de arquivos, módulos carregáveis, expansão do caminho, scripts de inicialização/desligamento, e muito mais. Neste guia, vamos concentrar-nos principalmente no bash.

o básico do Bash

Agora que entendemos como os scripts e as conchas funcionam, é hora de rever algumas dicas sobre scripting com bash., Depois disso, vamos mergulhar no básico como atribuir variáveis e escrever condicionalismos.

separação de palavras

um dos primeiros blocos de construção a envolver a sua cabeça é como bash usa separadores de palavras. Ao olhar para exemplos de script, você vai ver metacharacters como ; e &. Estes são apenas dois dos sete personagens que bash usa para separar palavras enquanto script.

vamos incluir uma lista de todos os sete abaixo. Quando vires isto, não te preocupes. Eles mantêm tudo organizado., Como você verá mais tarde na seção condicionais, o tipo de sintaxe usada depende do que você está tentando realizar.

  • (
  • )
  • <
  • >
  • ;
  • &
  • |

Útil Organização Comandos

Bash também fornece a você um número de comandos que pode utilizar para organizar os ficheiros. Cobrimos algumas destas na secção de comandos do Terminal, mas aqui estão mais algumas:

  • mkdir (make directory) é usado para criar uma nova pasta ou pasta.,
  • mv (mover) é usado para mover um ou mais arquivos ou diretórios para outro lugar.
  • rm (remove) é usado para remover ficheiros.
  • rmdir (remove directory) é usado para remover uma pasta.

ver os comandos

Se quiser fazer mais do que apenas mover os ficheiros, poderá usar alguns destes comandos de visualização para ver a informação que os ficheiros contêm. Aqui estão dois deles:

  • cat (concatenate) lê o conteúdo de um ou mais arquivos e exibe-o. Isto é ideal para arquivos mais curtos.,
  • ess é outro comando de visualização que é ótimo para a visualização de arquivos mais longos, porque ele só exibe uma tela de informação de cada vez e inclui recursos de navegação úteis para procurar por palavras específicas ou ir para a página seguinte ou anterior.

quais são as variáveis?

variáveis são nomeadas substituições que se referem a um determinado valor. Quando você digita o nome da variável, o sistema trata-o como se você tivesse digitado o valor a que se refere. Você pode nomear variáveis usando números, letras, nomes de arquivos, ou outros tipos de dados.,as variáveis

tornam mais fácil escrever scripts que usam pedaços específicos de dados — mesmo que esses dados estejam sempre mudando, como usernames. Ao invés de escrever comandos separados para várias variações de nomes de usuário, você pode apenas definir uma variável de nome de usuário e usá-la como um substituto para todas as variações que os usuários podem usar.

atribuir variáveis é muito fácil de fazer. Você só tem que especificar um nome variável e um valor, assim:

Variable_Name=value

capitalização não importa aqui., O nome e o valor da variável podem ser praticamente o que você quiser, como:

x=1
var1=hello
var2=GOODBYE

dito isto, existem algumas restrições sobre quais palavras ou caracteres você pode usar para variáveis (que vamos cobrir a seguir). Mas primeiro, é importante notar que bash não usa espaços antes ou depois do sinal de igualdade ao atribuir variáveis.,

isso significa Que você não pode atribuir uma variável com espaços, como este:

Incorreta:

x = 1

Você tem que atribuir a ele, sem espaços, como este:

Correto:

x=1

no Entanto, você pode usar espaços em nomes de variáveis usando aspas, assim:

Correto:

x="Number one"

também devemos mencionar que você pode usar um Mac script para dizer Terminal para retornar o valor de uma variável para você. Você pode fazer isso de duas maneiras., Em ambos os exemplos, “x” é o valor da variável que você está procurando:

$x
${x}

Você também pode criar uma variável referem-se ao resultado de um comando, tais como:

variable1=$(Some Bash Command)

a Variável Restrições

Então, o que são aqueles variável restrições que acabamos de mencionar? Bash tem vinte “palavras reservadas” que você não pode usar para variáveis porque elas já estão atribuídas a outras funções importantes dentro da shell., Sempre que você está atribuindo variáveis, você só tem que evitar estas palavras e você não vai encontrar qualquer problema com o seu script.Aqui estão eles:

  • ! e hora
  • ]
  • { e }
  • se, em seguida, elif, outra coisa, e fi gratuito
  • caso e esac
  • selecione > e na
  • enquanto, até, para, não, e realiza
  • função

Único vs., Aspas duplas

'

texto encapsulado entre aspas simples significa que contém estritamente o texto lido – não dará significado a quaisquer caracteres especiais, tais como variáveis ou restrições variáveis.

"

aspas preserva o valor literal de alguns caracteres, mas ele pode conter algumas variáveis ou caracteres com significado especial deles, inclusive:

$
'
\
!

O significado do personagem !, dentro de aspas duplas é preservada apenas quando a expansão do histórico está ativada, e \ deve ser seguido por outro personagem especial (ou uma nova linha).quais são as condições?

o próximo grande passo na aprendizagem de scripts Mac é descobrir como usar condicionais. Essencialmente, os condicionalismos são declarações se/então, que estabelecem condições e, em seguida, ver se eles estão sendo cumpridos (ou seja, se é 6 da manhã, em seguida, dizer “bom dia”).

In bash, the syntax of if/then stations looks like this:

if <condition>; then
<command(s)>
fi

Let’s break that down.,

  1. comece por “se” e siga-o imediatamente com as suas condições.
  2. Use um ponto e vírgula para separar a condição “se” e iniciar o comando “então”. Este comando só ocorrerá se a condição” se ” for cumprida.
  3. Finally, close the if / then statement with “fi – – this is just” if ” spelled backward.

aqui está um exemplo:

if ; then
echo "That number is greater than or equal to 4"
fi

Aqui, estamos verificando para ver se um número, 5, é maior ou igual a (que é o “-ge”) outro número, 4., Se for, o comando” então “será executado, levando-nos com uma mensagem:” esse número é maior ou igual a 4.”Imagine como mudar o 5 e usar uma variável em vez disso poderia melhorar a funcionalidade deste script.

Uma vez que você obtém uma posse destas declarações, você pode aprender a usar “else” para dar aos seus comandos uma ação alternativa no caso de as condições “se” não forem cumpridas. Para comandos mais complicados, você pode até mesmo usar ” elif “(senão se) para adicionar condições a” else “sem reescrever meticulosamente mais” else ” condições.,

Scripting with MDM Solutions

Just like using Mac scripts can make individual terminal commands more powerful, using scripts with your MDM solution can bring out your full management potential.

se está a usar a nossa funcionalidade de Script personalizada ou a especificar comportamentos pré e pós – implícitos para aplicações personalizadas, a programação com um MDM pode permitir-lhe realizar muitas acções avançadas de gestão de dispositivos.,

esperançosamente você aprendeu que você pode usar scripts para completar tarefas multi-etapas mais rápido e mais precisamente – e que você pode script políticas avançadas e enviá-las para todos os dispositivos da sua empresa usando uma solução MDM, como Kandji.além de colocar seus scripts em ação, Kandji tem muitas outras grandes características, como a conformidade de um clique com os principais padrões de segurança e implantação de toque zero. É tudo o que o seu negócio precisa para gerir a sua frota, desde o destacamento até à reforma.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *