Bash Pagina 37: Diferență între versiuni
Admin (discuție | contribuții) (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...) |
Admin (discuție | contribuții) |
||
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 de la data 27 octombrie 2024 10:16
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.