LECȚIA 11 / 30 · Shell și linia de comandă

Wildcard-uri și ghilimele în shell

Înțelege extinderea wildcard-urilor și rolul ghilimelelor în shell.

aprox. 9 minuteExercițiu de recapitulare inclus

Shell-ul extinde anumite modele înainte de a porni o comandă. Înțelegerea acestei etape te ajută să lucrezi cu grupuri de fișiere și să eviți potriviri neașteptate.

Modele uzuale

  • * corespunde la zero sau mai multe caractere într-un nume.
  • ? corespunde unui singur caracter.
  • [abc] corespunde unui caracter din setul indicat.
ls *.log
ls raport-?.txt
printf '%s\n' [ab]*.conf

Modelele sunt extinse în directorul curent înainte ca programul să primească argumentele. Dacă nu există potriviri, comportamentul poate depinde de shell și de configurare.

Protejează textul de extindere

printf '%s\n' "*.log"
printf '%s\n' "$HOME"
printf '%s\n' '$HOME'

Ghilimelele duble păstrează spațiile, dar permit unele substituții, precum variabilele. Ghilimelele simple păstrează literal textul. Folosește ghilimele pentru căi care pot conține spații și verifică argumentele înaintea unei operații multiple.

VERIFICĂ CE AI ÎNVĂȚAT

Ce se întâmplă de obicei cu *.log între ghilimele simple?