Programare BASH

Cum să verificați dacă există un fișier în bash

Cum să verificați dacă există un fișier în bash
Există mai multe moduri de a verifica disponibilitatea unui fișier în Linux. Comanda „test” în scriptarea bash este una dintre abordările cheie pentru verificarea existenței unui fișier.
Obiectivul acestui ghid este de a discuta existența unui fișier în sistemul dvs. prin scripting bash:

Cum să verificați existența fișierelor folosind scripting bash:

1) Introducând numele fișierului în terminal:

În primul rând, trebuie să creăm un fișier script bash, utilizați comanda menționată mai jos:

$ touch fișier de testare.SH

Numele fișierului pe care l-am creat este „testfile.sh ”,„.extensia sh ”indică fișierul scriptului shell:

Deschideți „fișierul test.sh ”în orice editor de text. Apoi scrieți scriptul, salvați-l apăsând pe „salvați”.

O modalitate este de a găsi un fișier cerând un nume de fișier de la utilizator în terminal.

Utilizare "-f”Pentru a verifica existența fișierului.

Scrieți scriptul de mai jos:

#!/ bin / bash
ecou „Introduceți numele fișierului”
citiți newfile1
dacă [-f "$ newfile1"]
atunci
ecou "Fișierul a fost găsit"
altceva
ecou „Fișierul nu a fost găsit”
fi

Reveniți la terminal și rulați fișierul pentru a imprima ieșirea:

./nume de fișier.SH

Mesajul de refuzare a permisiunii va fi afișat în terminal.

Faceți-l executabil executând comanda menționată mai jos:

$ chmod + x fișier de testare.SH

Introduceți numele fișierului și va imprima rezultatul:

2) Introducând numele fișierului în timp ce scrieți scriptul:
O altă modalitate de a găsi un fișier dând numele fișierului în timp ce scrieți scriptul. Avem trei moduri de a verifica disponibilitatea fișierului. Primul folosește comanda „test”, al doilea folosește „dacă” cu o expresie între paranteze pătrate, iar al treilea este, de asemenea, cu „dacă”, dar paranteze pătrate duble, după cum se indică mai jos:

  1. „Testați EXPRIMAREA.”
  2. „Dacă [EXPRIMARE]”
  3. „Dacă [[EXPRESSION]]”

Să o înțelegem cu exemple:

1) test [Expresie]
Copiați scriptul dat și lipiți-l în editor, salvați-l:

#!/ bin / bash
filename = fișier1
dacă test -f "$ fișier nume";
atunci
echo "$ fișier a fost găsit."
altceva
ecou „$ fișier nu a fost găsit”
fi

Ieșire:

Deoarece nu există un astfel de fișier în directorul meu, prin urmare, codul afișează mesajul „Fișierul nu este găsit”.

2) dacă [Expresie]

Copiați următorul script pentru a verifica dacă fișierul există sau nu:

#!/ bin / bash
filename = fișierul meu.txt
dacă [-f "$ nume de fișier"];
atunci
echo "$ fișier a fost găsit."
altceva
echo "numele fișierului nu a fost găsit"
fi

Ieșire:

3) dacă [[Expresie]]

Copiați scriptul de mai jos și lipiți-l pe terminal:

#!/ bin / bash
filename = fișier de testare
dacă [[-f "$ nume de fișier"]];
atunci
echo "$ fișier a fost găsit."
altceva
ecou „$ fișier nu a fost găsit”
fi

Ieșire:

Pentru a verifica directorul:

3) Introducând numele directorului în timp ce scrieți un script

Folosește "-d”Flag pentru a verifica existența unui director.

În scriptul menționat mai jos, „dir11” este variabila în care stocați fișierul pe care îl găsiți; în acest exemplu, vreau să verific numele directorului „testDir” există sau nu.

#!/ bin / bash
dir11 = testDir
dacă [-d "$ dir11"]
atunci
echo "Directorul a fost găsit"
altceva
echo "Directorul nu a fost găsit"
fi

Ieșire:

2) Introducând numele fișierului în terminal:
Când executați comanda în terminal pentru a verifica dacă directorul există sau nu, vi se cere să introduceți numele directorului pe care îl căutați:

#!/ bin / bash
echo "introduceți numele directorului."
citiți Dir1
dacă [-d "Dir1"]
atunci
echo "directorul a fost găsit"
altceva
echo "directorul nu a fost găsit"
fi

Ieșire:

Verificarea fișierului fără utilizarea instrucțiunii „if”:

Comanda „test” poate fi executată fără instrucțiunea „if”. Va afișa ieșirea numai dacă fișierul există; altfel, nu ar exista nicio ieșire:

Scrieți scriptul:

  1. test -f myfile.txt && echo "fișierul a fost găsit"

  2. [-filul meu.txt] && echo "$ fișier a fost găsit."

  3. [[-filul meu.txt]] && echo "$ fișier a fost găsit."

Ieșire:

Verificarea directorului fără utilizarea instrucțiunii „if”:

Utilizați declarațiile menționate mai jos pentru a verifica dacă un director există sau nu:

  1. [[-d testDir]] && echo "directorul există"

  2. 2) [-d testDir] && echo "directorul există"

Ieșire:

Verificarea mai multor fișiere / directoare:

1) Verificarea mai multor fișiere cu declarații „if”:
Utilizați semnalizatorul „-a” pentru a verifica existența diferitelor fișiere în loc să utilizați instrucțiuni imbricate „if / else”:

#!/ bin / bash
dacă [-f fișier_ nou.txt -a -f newfile.txt ]; atunci
ecou "Ambele fișiere există."
fi

O altă modalitate este:

#!/ bin / bash
dacă [[-f fisier_ nou.txt && -f newfile.txt ]]; atunci
ecou "Ambele fișiere există."
fi

Ieșire:

2) Verificarea mai multor fișiere fără utilizarea instrucțiunii „if”:
Utilizați următoarea declarație pentru a verifica simultan mai multe fișiere 1 fără a utiliza „dacă”:

  1. [[-f fisier_ nou.txt && -f newfile.txt]] && echo „Ambele fișiere se închid.”

  2. [[-f fisier_ nou.txt && -f newfile.txt]] && echo „Ambele fișiere se închid.”

Ieșire:

Concluzie:

Acest articol a arătat cum să utilizați scripturi bash pentru a verifica un fișier sau un director. Am folosit diferite opțiuni pentru a verifica disponibilitatea unui fișier. În primul rând, folosim comanda „test” cu semnalizatoare diferite. Apoi am aflat cum se folosește „dacă”, cuibărit „dacă-altfel” și fără instrucțiunile „dacă” pentru a verifica fișierul sau directorul. De asemenea, am analizat cum să verificăm mai multe fișiere sau directoare.

Cele mai bune jocuri pentru a juca cu urmărirea manuală
Oculus Quest a introdus recent marea idee de urmărire manuală fără controlere. Cu un număr din ce în ce mai mare de jocuri și activități care execută ...
Cum se afișează suprapunerea OSD în aplicații și jocuri Linux pe ecran complet
Jucarea jocurilor pe ecran complet sau utilizarea aplicațiilor în modul ecran complet fără distragere vă poate elimina din informațiile relevante ale ...
Top 5 cărți de captură a jocului
Cu toții am văzut și ne-au plăcut jocurile de streaming pe YouTube. PewDiePie, Jakesepticye și Markiplier sunt doar câțiva dintre cei mai buni jucător...