Cum se utilizează variabilele BASH în scripturi

Configurare noua (How To)

Situatie

Variabilele oferă flexibilitatea care face ca un script să fie o soluție generală, mai degrabă decât una specifică. Pentru a ilustra diferența, iată un script care contează fișierele din directorul / dev.

Solutie

Pasi de urmat

De exemplu tastați acest lucru într-un fișier text, apoi salvați-l:

#!/bin/bash

folder_to_count=/dev

file_count=$(ls $folder_to_count | wc -l)

echo $file_count files in $folder_to_count

Înainte de a putea rula scriptul, trebuie să îl faceți executabil, așa cum se arată mai jos:

chmod +x file.sh


Introduceți următoarea comanda pentru a rula scriptul:

./file.sh


Aceasta imprimă numărul de fișiere din directorul / dev. Iată cum funcționează:

  • Este definită o variabilă numită folder_to_count și este setată să țină string-ul (care este un șir de caracter) „/ dev”.
  • O altă variabilă, numită file_count, este definită. Această variabilă își ia valoarea dintr-o înlocuire a comenzii. Aceasta este fraza de comandă dintre paranteze $ (). Rețineți că există un semn dolar $ înainte de prima paranteză. Această construcție $ () evaluează comenzile din paranteze și apoi returnează valoarea finală a acestora. În acest exemplu, acea valoare este atribuită variabilei file_count. În ceea ce privește variabila file_count, a fost trecută o valoare de reținut; nu este preocupat de modul în care a fost obținută valoarea.
  • Comanda evaluată în substituția comenzii efectuează o listare de fișiere ls în directorul din variabila folder_to_count, care a fost setată la „/ dev.” Deci, scriptul execută comanda „ls / dev.”
  • Ieșirea de la această comandă este conectată la comanda wc. Opțiunea -l (număr de linii) face ca wc să numere numărul de linii din ieșirea din comanda ls. Întrucât fiecare fișier este listat pe o linie separată, acesta este numărul de fișiere și subdirectorii din directorul „/ dev”. Această valoare este atribuită variabilei file_count.
  • Linia finală folosește echo pentru a da rezultatul.

Acest lucru funcționează numai pentru directorul „/ dev”. 

Tip solutie

Permanent

Voteaza

(7 din 24 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?