Noções básicas de automação Bash e scripts (papel 1)

Conteúdo

Automatizar uma tarefa repetitiva tende a deixar o desenvolvedor do bash feliz: em vez de digitar comandos infinitos repetidamente, um script apenas faz o trabalho repetidamente. O Bash é ideal para essa automação. Esta série o ajudará a começar!

O que é Automação Bash?

O shell Bash é um shell Linux poderoso que permite uma automação profunda de tarefas repetitivas. O shell Bash Linux não é apenas uma alternativa principal para DevOps, bancos de dados e engenheiros de teste semelhantes, Em vez disso, todos os dias os usuários podem se beneficiar do aumento lento e constante das habilidades de bash.. Bash também é uma linguagem de programação que cresce com você. Tenho codificado ativamente no Bash desde 2012 e eu tenho usado por muito mais tempo.

O Bash também se presta a muitos domínios de aplicativo e casos de uso diferentes.. Como um exemplo, você pode facilmente usá-lo para manipulação de Big Data e, surpreendentemente, parece se adequar extremamente bem a esta tarefa devido ao grande número de ferramentas de processamento de texto disponíveis, ou disponíveis como pacotes fáceis de instalar. Também é muito adequado para agendar e manter backups e bancos de dados., ou para lidar com soluções de armazenamento de arquivos grandes, automação de servidor web e muito mais.

Uma coisa que descobri é que toda vez que ocorre o próximo problema, um pouco de pesquisa em um mecanismo de pesquisa ou nos vários sites Stackoverflow, fornecerá rapidamente não apenas uma solução para o problema, mas uma possibilidade de crescer e aprender. É uma experiência muito equivalente à de uma pessoa que está aprendendo a ser editor.. vi onde o mesmo vai; sempre que houver um obstáculo, a resposta está perto.

Esta minissérie consiste em três partes, das quais a primeira, e nele veremos os conceitos básicos de automação e script Bash.

O assunto!

Você deve estar se perguntando que tipo de título é esse?. E eu estaria certo, a menos que você estivesse conversando com um desenvolvedor Linux experiente. Eles sorririam na melhor das hipóteses. Isso porque as duas primeiras letras de um script bash bem escrito seriam sempre, Nós vamos, ¡Shebang!

Existem dois personagens, a saber #! que pode ser colocado em cima de um script, que diz ao intérprete qual intérprete pode, deve e será usado para processar o script em questão. Acontece que este símbolo como um todo é chamado O assunto Como um todo.

Por isso, para expandir nossa declaração anterior: a primeira linha de um script bash bem escrito deve começar com #!/bin/bash para indicar al shell (qualquer concha que está sendo usada, poderia ser, como um exemplo, bash o sh o zsh) nós queremos o binário /bin/bash (nuestro shell Bash) para executar este código.

Vamos colocar isso em prática, definindo um pequeno script test.sh Como segue:

#!/bin/bash

echo 'Hello CloudSavvyIT Readers!'

Puede crear este script usando su editor de texto favorito, que preferiblemente sería un editor que utiliza solo fuentes monoespaciadas como nós, empuje, nano o algún editor basado en texto sin formato en su escritorio Linux, y preferiblemente evitando cosas como un procesador de texto como OpenOffice Writer, etc., dado que pueden escribir datos o caracteres binarios adicionales no deseados en nuestro script. Em outras palavras; necesitamos utilizar texto sin formato.

Una vez definido este script, lo hacemos ejecutable ejecutando chmod +x test.sh na linha de comando. Entonces podemos iniciar el script simplemente llamando a su nombre con el prefijo ./: ./test.sh

Nuestro primer script de bash usando shebang y echo

Parámetros de entrada

Tan pronto como empiece a escribir scripts, probablemente encontrará que desea pasar parámetros de entrada al script. Una forma de hacerlo es usar los parámetros posicionales simples que están disponibles en Bash por defecto. Echemos un vistazo a un script de ejemplo test2.sh, que definimos de la próxima manera:

#!/bin/bash

echo "${1}"

Aqui nós usamos o parâmetro posicional ${1}. Esta variável irá refletir a primeira palavra (espaço separado por padrão) o que aconteceu com nosso script, a menos que uma citação seja usada. Vamos ver como isso funciona:

Usando parâmetros posicionais em nosso segundo script bash

Depois de tornar nosso script executável novamente com chmod +x test2.sh nós executamos o mesmo e passamos uma única palavra hello como primeiro parâmetro posicional (${1}). O resultado é que hello se repete para nós.

Isso ocorre porque quando o script foi iniciado, a variável ${1} (o $1 embora eu recomende sempre colocar aspas em torno de nomes de variáveis) foi definido com o valor do primeiro parâmetro posicional; a primeira palavra ou string entre aspas após o nome do script.

Então nós passamos hello world, Apesar disto, isso apenas ecoou hello De volta para nós. O motivo é simples; a segunda palavra (separados por padrão por um espaço) se parece com o segundo parâmetro posicional e, por isso, se inicializa como ${2} no script, não ${1}.

Contornamos esse comportamento colocando aspas ao redor da entrada quando passamos 'Hello CloudSavvyIT Readers!'. Aspas simples ou duplas teriam funcionado, mesmo quando sua operação é diferente, mais sobre isso na próxima parte desta série. O resultado é que nosso primeiro parâmetro posicional ${1} é declarado no texto completo Hello CloudSavvyIT Readers!, e assim ecoa a mesma coisa para nós.

Se você quiser mais informações sobre variáveis, nossas postagens funções Bash e variáveis ​​locais e exportação de variáveis ​​no Bash: as postagens por que e como também podem ser de interesse.

Final

Neste post, revisamos o primeiro conjunto de conceitos básicos de automação e script bash. Aprendemos o que é a automação Bash e Shebang, e como começar a passar variáveis ​​de entrada para nossos scripts.

Noções básicas de automação e script do En Bash (Papel 2), analisamos cotações variáveis ​​e muito mais. desfrutar!

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.