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
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”.
Leave A Comment?