L'automazione di un'attività ripetitiva tende a rendere felice lo sviluppatore bash: invece di digitare comandi infiniti più e più volte, uno script fa il lavoro ripetutamente. Bash è l'ideale per tale automazione. Questa serie ti aiuterà a iniziare!
Che cos'è Automazione di Bash?
La shell Bash è una potente shell Linux che consente l'automazione approfondita di attività ripetitive. La shell Bash Linux non è solo un'ottima alternativa a DevOps, database e ingegneri di test allo stesso modo, Invece, gli utenti di tutti i giorni possono beneficiare di abilità bash in lento e costante aumento.. Bash è anche un linguaggio di programmazione e programmazione che cresce su di te. Sto programmando attivamente in Bash da allora 2012 e l'ho usato molto più a lungo.
Bash si presta anche a molti domini applicativi e casi d'uso diversi.. Come esempio, puoi usarlo facilmente per la gestione dei Big Data e, sorprendentemente, sembra prestarsi molto bene a questo compito a causa del gran numero di strumenti di elaborazione testi disponibili in esso, o disponibili come pacchetti facili da installare. È anche molto adatto per la pianificazione e la manutenzione di backup e database., o per la gestione di soluzioni di archiviazione di file di grandi dimensioni, automazione del server web e molto altro.
Una cosa che ho scoperto è che ogni volta che si verifica il problema successivo, una piccola ricerca su un motore di ricerca o sui molteplici siti Stackoverflow, fornirà rapidamente non solo una soluzione al problema, ma una possibilità per crescere e imparare. Questa è un'esperienza molto equivalente a quella di una persona che impara a fare l'editore.. vi
dove va lo stesso; ogni volta che c'è un ostacolo, la risposta è vicina.
Questa miniserie è composta da tre parti di cui la prima, e in esso vedremo i concetti di base dell'automazione e dello scripting Bash.
Il caso!
Ti starai chiedendo che tipo di titolo è?. E avrei ragione, a meno che tu non stia parlando con uno sviluppatore Linux esperto. Sorriderebbero al meglio. Questo perché le prime due lettere di uno script bash ben scritto sarebbero sempre, bene, ¡Shebang!
Ci sono due personaggi, vale a dire #!
che può essere posizionato sopra uno script, che dice all'interprete quale interprete può, dovrebbe e sarà usato per elaborare lo script in questione. Succede che questo simbolo nel suo insieme si chiama Il caso come un tutto.
Perché, per espandere la nostra dichiarazione precedente: la prima riga di uno script bash ben scritto dovrebbe iniziare con #!/bin/bash
per indicare la conchiglia (qualunque sia la shell utilizzata, potrebbe essere, come esempio, bash
oh sh
oh zsh
) que queremos el binario /bin/bash
(nuestro shell Bash) para ejecutar este código.
Pongamos esto en práctica, definiendo un pequeño script test.sh
come 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 noi, 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, eccetera., poiché possono scrivere dati binari o caratteri extra indesiderati nel nostro script. In altre parole; dobbiamo usare il testo normale.
Una volta definito questo script, lo rendiamo eseguibile eseguendo chmod +x test.sh
sulla riga di comando. Quindi possiamo avviare lo script semplicemente chiamando il suo nome con il prefisso ./
: ./test.sh
Parametri di input
Non appena inizio a scrivere script, probabilmente scoprirai di voler passare i parametri di input allo 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}"
Aquí hemos utilizado el parámetro posicional ${1}
. Esta variable reflejará la primera palabra (separada por espacio por defecto) que se pasó a nuestro script, a menos que se use una cita. Vediamo come funziona:
Después de hacer que nuestro script sea ejecutable nuevamente con chmod +x test2.sh
eseguiamo lo stesso e passiamo una sola parola hello
come primo parametro posizionale (${1}
). Il risultato è che hello
si ripete a noi.
Questo perché quando è stato avviato lo script, la variabile ${1}
(oh $1
anche se consiglio di mettere sempre le virgolette intorno ai nomi delle variabili) è stato impostato al valore del primo parametro posizionale; la prima parola o stringa tra virgolette dopo il nome dello script.
Allora passiamo hello world
, nonostante questo, questo ha appena fatto eco hello
Torna a noi. Il motivo è semplice; la seconda parola (separato per impostazione predefinita da uno spazio) sembra il secondo parametro posizionale e, perché, si avvia come ${2}
nella sceneggiatura, no ${1}
.
Evitiamo questo comportamento mettendo le virgolette intorno all'input quando passiamo 'Hello CloudSavvyIT Readers!'
. Le virgolette singole o doppie avrebbero funzionato, anche quando il suo funzionamento è diverso, di più su questo nella prossima parte di questa serie. Il risultato è che il nostro primo parametro posizionale ${1}
è indicato nel testo completo Hello CloudSavvyIT Readers!
, e quindi riecheggia la stessa cosa per noi.
Se vuoi maggiori informazioni sulle variabili, i nostri post Funzioni Bash e Variabili locali ed Esportazione di variabili in Bash: anche i post perché e come possono interessare.
Fine
In questo post, abbiamo esaminato la prima serie di basi di automazione e scripting bash. Abbiamo imparato cos'è l'automazione di Bash e Shebang, e come iniziare a passare variabili di input ai nostri script.
En Bash Automazione e basi di scripting (Parte 2), analizziamo quotazioni variabili e altro. godere!