Bash Pagina 37: Diferență între versiuni

De la Wiki Linux Advanced
Sari la navigare Sari la căutare
(Pagină nouă: == 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 in...)
 
 
(Nu s-a afișat o versiune intermediară efectuată de același utilizator)
Linia 1: Linia 1:
== Introducerea Datelor într-un Script ==
== Transmiterea datelor într-un script folosind | (pipe) ==


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.
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.
Linia 9: Linia 9:
  #!/bin/bash
  #!/bin/bash
  #
  #
  if [[ -p /dev/stdin ]]; then
  if <nowiki>[[ -p /dev/stdin ]]</nowiki>; then
     while IFS= read LINE; do
     while IFS= read LINE; do
         echo "Linie: $LINE"
         echo "Linie: $LINE"
Linia 18: Linia 18:


Verificarea intrării standard:
Verificarea intrării standard:
  if [[ -p /dev/stdin ]]; then  
  if <nowiki>[[ -p /dev/stdin ]]</nowiki>; then  
Verifică dacă stdin este un pipe. Dacă da, scriptul va continua să citească datele.
Verifică dacă stdin este un pipe. Dacă da, scriptul va continua să citească datele.


Linia 44: Linia 44:


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.
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.


[[Bash_Pagina_36|Pagina anterioară]] | [[Bash_Pagina_38|Următoarea pagină]]
[[Bash_Pagina_36|Pagina anterioară]] | [[Bash_Pagina_38|Următoarea pagină]]

Versiunea curentă din 27 octombrie 2024 10:17

Transmiterea datelor într-un script folosind | (pipe)

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ă