O Shell Scripting é uma boa opção para o seu negócio?

Expanda a capacidade de seus desenvolvedores no shell do Linux.

Imagem em destaque

Seus desenvolvedores trabalham duro para criar os aplicativos e serviços de que sua empresa precisa para se manter em movimento. Afinal, o progresso é a única maneira de acompanhar a concorrência. E dado o quão competitivo o mundo dos negócios se tornou, cada vantagem que você conseguir estará um passo mais perto de permanecer relevante.

Isso significa que sua equipe de desenvolvimento deve estar atenta às últimas tendências, usar as melhores ferramentas e colaborar de forma eficaz e eficiente. Isso também significa que você não deve ignorar algumas das ferramentas que existem há décadas. Quando algo é comprovado e ainda relevante, deve ser empregado com a frequência necessária.

Uma dessas ferramentas da velha escola é o shell script.

O que é script de shell?

Shell scripting é um pequeno programa de computador, executado em um shell UNIX ou Linux, que pode executar praticamente qualquer tipo de funcionalidade que seus desenvolvedores possam imaginar. Os scripts shell geralmente consistem em um ou mais comandos que funcionam juntos para uma única finalidade, como:

  • Cópias de segurança
  • Automação de compilação de código
  • Criação de ambiente de programação
  • Processamento em lote
  • Manipulação de arquivos
  • Vinculação de programas
  • Monitoramento do sistema
  • Tarefas do sistema

Você pode até combinar qualquer um dos propósitos acima para criar um script multitarefa que resolva vários problemas. Por exemplo, você pode criar um script que crie um ambiente de programação, faça compilação automatizada de código e faça backup dos resultados.

A beleza do shell script é que ele é incrivelmente flexível e geralmente limitado à imaginação da pessoa que cria o script.

Vantagens dos scripts Shell

Os scripts de shell têm inúmeras vantagens, como:

  • O que está contido em um script de shell é muito semelhante ao que seria inserido na interface da linha de comando.
  • Os scripts Shell são mais fáceis de escrever do que os aplicativos tradicionais.
  • Os scripts de shell não requerem compiladores e podem ser facilmente modificados em tempo real.
  • Os scripts de shell são portáteis e quase sempre de tamanho muito pequeno.
  • Os scripts de shell facilitam a execução de vários comandos a partir de um único comando.
  • A depuração é interativa.

Desvantagens dos scripts Shell

O script Shell não é perfeito nem adequado para todos os casos de uso. Os scripts de shell podem estar sujeitos a erros, portanto, qualquer pessoa que escreva tal script deve fazê-lo com cautela. Os scripts de shell também são mais lentos do que um aplicativo tradicional; portanto, se a velocidade for essencial, você deverá seguir outro caminho.

Finalmente, os scripts de shell não são exatamente adequados para tarefas maiores e muito complexas. O melhor caso de uso para scripts de shell é uma tarefa pequena (ou coleção de tarefas pequenas) que normalmente seria tratada na linha de comando, e você prefere vincular esses comandos ou automatizá-los.

Um exemplo de script de shell

Vamos dar uma olhada em um exemplo simples. Digamos, por exemplo, que você queira fazer backup de um diretório de uma máquina, pela rede, para outra máquina. Você criaria este script de shell com um comando como:

nano backup.sh

Nesse arquivo você pode colar o seguinte:

#!/bin/sh

rsync -av --delete /home/USER USER@SERVER:/home/USER/data

Onde USUÁRIO é um usuário na máquina local e remota e SERVIDOR é o IP ou nome de domínio de um servidor remoto.

Efetivamente, o que esse script fará é executar um comando que você pode emitir no prompt do bash. Esse comando é:

rsync -av --delete /home/USER USER@SERVER:/home/USER/data

Depois de salvar e fechar o arquivo, conceda a ele permissões executáveis ​​com:

chmod u+x backup.sh

Agora, se você emitir o comando backup.sho sincronizar novamente O comando será executado e fará backup do diretório de dados.

Mas como você automatiza isso? Para isso, você empregaria o cron. Crie um cron job com:

crontab -e

Cole o seguinte na parte inferior do seu arquivo crontab:

0 0 * * * /home/USER/backup.sh > /dev/null 2>&1

Salve e feche o arquivo crontab e o script de backup será executado toda meia-noite.

Com o shell script, você acabou de criar um backup automatizado (que será executado todas as noites à meia-noite) em cerca de 2 minutos e sem gastar um único centavo em software. Claro, esse é um script de shell muito simples. Seus desenvolvedores podem tornar os scripts de shell muito mais complexos, adicionando funções, loops e variáveis.

Por exemplo, você pode criar um script de salto que o levará para qualquer diretório pai desejado. Digamos, por exemplo, que você esteja em ~/projects/java/projectx/v1/functions e queira voltar para ~/projects. Em vez de digitar cd ~/projetosvocê poderia simplesmente digitar projetos de salto. Esse script pode ser assim:

# !/bin/bash
 # A simple bash script to move up to desired directory level directly
 function jump 
{
# original value of Internal Field Separator
OLDIFS=$IFS
  # setting field separator to "
IFS=/
  # converting working path into array of directories in path
# eg. /my/path/is/like/this
# into (, my, path, is, like, this)
path_arr=($PWD)
# setting IFS to original value
IFS=$OLDIFS
  local pos=-1
  # ${path_arr(@)} gives all the values in path_arr
for dir in "${path_arr(@)}"
do
     # find the number of directories to move up to
     # reach at target directory
     pos=$($pos+1)
     if ( "$1" = "$dir" );then
         # length of the path_arr
         dir_in_path=${#path_arr(@)}
          #current working directory
         cwd=$PWD
         limit=$($dir_in_path-$pos-1)
         for ((i=0; i<limit; i++))
         do
             cwd=$cwd/..
         done
         cd $cwd
         break
     fi
done
}

No script bash acima, você usaria vários comandos e instruções para criar algo utilizável. Com scripts de shell, praticamente não há limite para o que seus desenvolvedores podem fazer. E se eles já sabem usar a linha de comando do Linux, já sabem escrever scripts de shell.

Conclusão

Se você está procurando uma maneira de ajudar a tornar suas equipes de desenvolvedores ainda mais ágeis, capacite-as com a capacidade de escrever scripts de shell. O retorno do investimento para essas pequenas joias pode ser incrivelmente alto porque quase não há custo inicial (em finanças ou tempo).

Com um pouco de imaginação e conhecimento, seus desenvolvedores podem criar scripts incrivelmente funcionais, exclusivos e específicos para lidar com todos os tipos de funcionalidades.

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.