Bash Verifică dacă fișierul există
Lucrezi cu shell scripting și Bash? Acest articol este pentru tine. La un moment dat în munca dvs., va trebui să verificați sistemul de fișiere. Este directorul dvs. încă acolo? Nu sunteți sigur dacă fișierul dvs. mai există? Acestea sunt cele două întrebări esențiale pe care trebuie să le cunoașteți.
De unde știți dacă directorul sau fișierul dvs. există cu Bash? Răspunsul este simplu, faceți un „Test Bash”. Astăzi, vă vom învăța cum să faceți exact acest lucru. Până la sfârșitul acestui articol, ar trebui să verificați singur dacă există încă un fișier sau director în scriptul dvs. Bash.
Testează dacă există un fișier obișnuit
Prima problemă pe care ar trebui să o abordezi este dacă fișierul tău obișnuit sau directorul încă există în scriptul Bash. Pentru a răspunde la această întrebare, va trebui să efectuați comanda de testare.
Dacă doriți să verificați dacă fișierul dvs. există, va trebui să utilizați „-f ”Opțiune de fișier. Asigurați-vă că indicați ce fișier încercați să căutați.
Vom folosi „/ user / commrev” ca fișier exemplu în tot articolul.
Deci, de exemplu, încercați să testați dacă există fișierul „/ user / commrev”. Pe scriptul dvs. bash, va trebui să îl scrieți ca:
if ].
Dacă fișierul există, următorul prompt de comandă pe care îl veți vedea ar trebui să fie,
else echo "<file> exists on your file system."
Utilizarea termenilor scurți
De asemenea, puteți testați shell-ul bash utilizând termenii scurți existenți. Utilizați aceeași opțiune de legătură simbolică „-f” și tastați comanda pe care doriți să o rulați. Prin urmare, va trebui să deschideți comanda de testare și să scrieți următoarele ca
if ] && echo "This file exists!"
Verificarea dacă există mai mult de un fișier
În cazul în care doriți să verificați dacă există mai multe fișiere, puteți În mod similar cu situațiile de mai sus, utilizați „-f” și testați dacă un fișier pe care încercați să îl localizați este încă acolo. Separați fișierele utilizând operatorul „& &”.
De exemplu, doriți să testați dacă 1 fișierul 1 și 2 există. Puteți să-l tastați pe comanda de testare după cum urmează:
if ] && ] thenecho "file exists!" fi.
Ușor! numele fișierului pe care îl căutați.
Verificați dacă un fișier nu există
Următorul este Va trebui să învăț este să verific dacă nu mai există un fișier. Comanda este ușor de învățat și de reținut.
Folosind scriptul Bash, utilizați „!” simbol și urmează-l cu opțiunea „-f” și cu fișierul pe care încerci să îl verifici.
De exemplu:
if ] then echo "<file> does not exist on your file system. "
Puteți utiliza, de asemenea, forme mai scurte, similar cu exemplul de mai sus. Veți putea testa rapid dacă există sau nu un fișier pe terminalul dvs. Deci, îl puteți tasta pe comanda de testare ca
] && echo "This file does not exist!" && echo "File does not exist!"
Ca alternativă, puteți utiliza și ”| | ”Operator. Va executa comanda dreaptă în cazul în care comanda stângă eșuează. Puteți să-l tastați după cum urmează,
] | | echo "File does not exist!"
Ușor! Veți putea verifica dacă există sau nu un fișier pe Bash!
Verificați dacă directorul există
De unde știți dacă directoarele dvs. există încă în Bash? Ei bine, va trebui să utilizați și să vă amintiți opțiunea de comandă „-d” a legăturii simbolice. Urmați această comandă cu directorul pe care încercați să îl căutați.
if ]thenecho " FILE DIRECTORY exist ." fi
Pentru ilustrare, doriți să testați în Bash dacă / user / commrev există încă în director. Va arăta cam așa:
#!/bin/bash if ] thenecho "/user/commrev exists on your file system."
Când tastați această comandă pe Bash, ieșirea ar trebui să arate cam așa $ / etc. Există în sistemul dvs. de fișiere.
Folosind short terms
Similar cu modul în care puteți utiliza termeni scurți pentru a testa dacă există un fișier pe Bash, puteți face același lucru și pentru director. În shell-ul bash, puteți utiliza termeni scurți pentru a verifica dacă un directorul încă există.
Pentru a-l testa, veți folosi opțiunea „-d”. Asigurați-vă că îl puneți între paranteze și urmați-l cu comanda pe care doriți să o rulați. Ar trebui să arate cam așa:
] && echo "FILE directory exists!" && echo "This FILE directory exists!"
Doriți să testați și să verificați dacă / user / commrev există în directorul dvs. Puteți utiliza termenul scurt și îl veți scrie ca
" && echo "This directory exists!"
Cum să creați un script Bash
Amintirea tuturor acestor comenzi și opțiuni poate fi o provocare pentru unii, mai ales dacă sunteți tipul de persoană care verifică de mai multe ori dacă există un anumit fișier sau dacă există încă un director în sistem . Ei bine, ar putea fi util să aflați cum să creați automat un script care poate îndeplini sarcina dvs.
Vă vom învăța cum să creați un script bash care poate verifica mai multe nume de fișiere.Nu va mai trebui să continuați să tastați comanda.
Folosind chmod, puteți crea cu ușurință un nou script bash și îl puteți executa. Va arăta cam așa:
$ mkdir -p ~/bin $ cd ~/bin && touch check_file && chmod u+x check_file && vi check_file
În general, dacă începeți să verificați dacă fișierul dvs. există, conținutul scriptului va fi astfel:
Înainte de a ieși din Bash, asigurați-vă că salvați scriptul. Adăugați folderul „bin” și adăugați-l în mediul PATH. Va arăta cam așa:
$ export PATH="~/bin:$PATH" $ printrev PATH ~/bin: /usr/local/sbin: /usr/local/bin: /usr/sbin: /usr/bin: /sbin: /bin
Îl puteți accesa oriunde în sistem! Puteți chiar să extrageți scriptul și să verificați dacă fișierul există sau nu. Gata! Nu este nevoie să continuați să deschideți comanda de testare.
Final Cuvinte
Astăzi, ați învățat cum să verificați și să testați dacă fișierul dvs. există sau nu pe Bash!
Utilizând testul bash și testul bash shell, pe termen scurt, veți să le puteți găsi! Găsiți un fișier sau două în cel mai scurt timp! De asemenea, ați învățat cum să testați dacă există încă un director!
Și, în cele din urmă, v-am învățat cum să vă îmbunătățiți viața. V-am învățat cum să scrieți un script bash complet pentru a verifica dacă un fișier există de mai multe ori în același timp.
Ați câștigat Nu trebuie să vă faceți probleme când căutați un fișier! Puteți aștepta ca programul să ruleze sistemul de fișiere și să vă ofere feedback cu privire la ile nu există sau nu.
Fie că încercați să verificați dacă fișierul sau directorul există, sperăm că v-am ajutat!