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.SHNumele 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 / bashecou „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.SHMesajul 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:
- „Testați EXPRIMAREA.”
- „Dacă [EXPRIMARE]”
- „Dacă [[EXPRESSION]]”
Să o înțelegem cu exemple:
1) test [Expresie]
Copiați scriptul dat și lipiți-l în editor, salvați-l:
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 / bashfilename = 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 / bashfilename = 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 / bashdir11 = 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:
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:
- test -f myfile.txt && echo "fișierul a fost găsit"
- [-filul meu.txt] && echo "$ fișier a fost găsit."
- [[-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:
- [[-d testDir]] && echo "directorul există"
- 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”:
dacă [-f fișier_ nou.txt -a -f newfile.txt ]; atunci
ecou "Ambele fișiere există."
fi
O altă modalitate este:
#!/ bin / bashdacă [[-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ă”:
- [[-f fisier_ nou.txt && -f newfile.txt]] && echo „Ambele fișiere se închid.”
- [[-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.