Bash Pagina 37

De la Wiki Linux Advanced
Sari la navigare Sari la căutare

Introducerea Datelor într-un Script

Scripturile Bash pot citi date de la intrarea standard (stdin) folosind un simplu mecanism de citire. Aceasta este utilă pentru a prelucra datele transmise prin pipe sau pentru a citi din fișiere.

Exemplu de Script

Iată un exemplu de script care citește date din stdin:

#!/bin/bash
#
if [[ -p /dev/stdin ]]; then
   while IFS= read LINE; do
       echo "Linie: $LINE"
   done
fi

Explicații:

Verificarea intrării standard:

if [[ -p /dev/stdin ]]; then 

Verifică dacă stdin este un pipe. Dacă da, scriptul va continua să citească datele.

Citirea datelor:

while IFS= read LINE; do 

Utilizează un loop while pentru a citi fiecare linie de intrare. IFS= asigură că spațiile sunt păstrate.

echo "Linie: $LINE" 

Afișează fiecare linie citită.

Terminarea blocului if:

fi

Marchează sfârșitul structurii de control if.

Permisiuni de Executare: După ce ați salvat scriptul, asigurați-vă că are permisiuni de execuție:

chmod u+x readpipe.sh

Rularea Scriptului: Pentru a rula scriptul, utilizați:

./readpipe.sh

Utilizarea cu Pipe - Pentru a transmite date către script folosind pipe, rulați:

cat /etc/passwd | ./readpipe.sh

Aceasta va citi conținutul fișierului /etc/passwd și va afișa fiecare linie precedată de textul "Linie:".

Concluzie

Această metodă de introducere a datelor într-un script este foarte puternică, permițând prelucrarea datelor din diverse surse și este frecvent utilizată în scriptingul shell pentru a automatiza sarcini.


Pagina anterioară | Următoarea pagină