Pipe into commands and read from STDIN | #5 Practical Bash
Cuprins:
- Verificați dacă fișierul există
- Verificați dacă directorul există
- Verificați dacă fișierul nu există
- Verificați dacă există mai multe fișiere
- Operatori de testare a fișierelor
- Concluzie
De multe ori când scrii scripturi Shell, te poți regăsi într-o situație în care trebuie să efectuezi o acțiune bazată pe existența unui fișier sau nu.
În Bash, puteți utiliza comanda test pentru a verifica dacă există un fișier și pentru a determina tipul de fișier.
Comanda test are una dintre următoarele forme de sintaxă:
Verificați dacă fișierul există
Când verificați dacă există un fișier, cei mai folosiți operatori FILE sunt
-e
și
-f
. Primul va verifica dacă un fișier există indiferent de tip, în timp ce cel de-al doilea va reveni adevărat numai dacă FILEUL este un fișier obișnuit (nu un director sau un dispozitiv).
Cea mai citită opțiune atunci când verificați dacă un fișier există sau nu este să folosiți comanda test în combinație cu instrucțiunea if. Oricare dintre fragmentele de mai jos va verifica dacă fișierul
/etc/resolv.conf
există:
FILE=/etc/resolv.conf if test -f "$FILE"; then echo "$FILE exist" fi
FILE=/etc/resolv.conf if; then echo "$FILE exist" fi
FILE=/etc/resolv.conf if]; then echo "$FILE exist" fi
Dacă doriți să efectuați o acțiune diferită pe baza dacă fișierul există sau nu folosiți doar construcția if / apoi:
FILE=/etc/resolv.conf if; then echo "$FILE exist" else echo "$FILE does not exist" fi
Utilizați întotdeauna ghilimele duble pentru a evita probleme atunci când aveți de-a face cu fișiere care conțin spațiul alb în numele lor
Puteți utiliza, de asemenea, comanda test fără instrucțiunea if. Comanda după operatorul
&&
va fi executată numai dacă starea de ieșire a comenzii de testare este adevărată,
test -f /etc/resolv.conf && echo "$FILE exist"
&& echo "$FILE exist"
] && echo "$FILE exist"
&& { echo "$FILE exist"; cp "$FILE" /tmp/; }
Împotriva
&&
, declarația după
||
operatorul va fi executat numai dacă starea de ieșire a comenzii test este
false
.
&& echo "$FILE exist" || echo "$FILE does not exist"
Verificați dacă directorul există
Operatorii
-d
vă permit să testați dacă un fișier este un director sau nu.
De exemplu, pentru a verifica dacă directorul
/etc/docker
există, ați folosi:
FILE=/etc/docker if; then echo "$FILE is a directory" fi
&& echo "$FILE is a directory"
De asemenea, puteți utiliza paranteze duble
, 'linuxize_com-medrectangle-4', 'ezslot_7', 160, '0', '0']));
Verificați dacă fișierul nu există
Similar cu multe alte limbi, expresia testului poate fi anulată folosind funcția
!
(semn de exclamare) logic nu operator:
FILE=/etc/docker if; then echo "$FILE does not exist" fi
La fel ca mai sus:
&& echo "$FILE does not exist"
Verificați dacă există mai multe fișiere
În loc să folosiți construcții complicate cu cuiburi, dacă / altceva, puteți folosi
-a
(sau
&&
cu
; then echo "$FILE is a directory" fi
FILE=/etc/docker if; then echo "$FILE is a directory" fi
Variante echivalente fără a utiliza instrucțiunea IF:
&& echo "both files exist"
Operatori de testare a fișierelor
Comanda test include următorii operatori FILE care vă permit să testați anumite tipuri de fișiere:
-
-bFILE- Adevărat dacă fișierul există și este un fișier special de bloc.-cFILE- Adevărat dacă fișierul există și este un fișier cu caractere speciale.-dFILE- Adevărat dacă fișierul există și este un director.-eFILE- Adevărat dacă fișierul există și este un fișier, indiferent de tip (nod, director, soclu etc.).-fFILE- Adevărat dacă fișierul există și este un fișier obișnuit (nu un director sau dispozitiv).-GFILE- Adevărat dacă fișierul există și are același grup ca și utilizatorul care execută comanda.-hFILE- Adevărat dacă fișierul există și este o legătură simbolică.-gFILE- Adevărat dacă FILE există și are set de pavilion set-group-id (sgid).-kFILE- Adevărat dacă fișierul există și are un steag lipicios setat.-LFILE- Adevărat dacă fișierul există și este o legătură simbolică.-OFILE- Adevărat dacă fișierul există și este deținut de utilizatorul care execută comanda.-pFILE- Adevărat dacă FILE există și este o conductă.-rFILE- Adevărat dacă fișierul există și poate fi citit.-SFILE- Adevărat dacă fișierul există și este socket.-sFILE- Adevărat dacă fișierul există și are dimensiuni diferite.-uFILE- Adevărat dacă este setat steagul existent și set-user-id (suid).-wFILE- Adevărat dacă fișierul există și poate fi scris.-xFILE- Adevărat dacă FILE există și este executabil.
Concluzie
În acest ghid, v-am arătat cum puteți verifica dacă există un fișier sau director folosind Bash.
terminalul bashKindle 2 are oportunitatea de a furniza instrumente și resurse valoroase lucrătorilor mobili, sau pentru profesii care nu se pot preda în fața calculatorului sau care iau timp să viziteze biblioteca pentru a obține informații. Există multe linii de lucru care se bazează foarte mult pe documentația tipărită sau ar putea fi disponibile dacă este disponibilă. De exemplu, cărți precum Anatomia lui Gray sau Practici de calcul a dozelor pentru asistente medicale ar putea fi disponibile imediat în palm
Un avantaj suplimentar al trecerii de la materialele de referință tipărite tradiționale la Kindle sau în alt format electronic versiunile sunt ubicue disponibile. În afară de Kindle în sine, Amazon oferă o aplicație Kindle pentru PC sau Mac, precum și pentru tableta Apple iPad și platformele smartphone-uri iPhone, Android și BlackBerry.
Skype este unul dintre cele mai bune servicii VoIP. Am văzut cum să configurați și să utilizați Skype pe un PC Windows. Cu toate acestea, unii oameni s-au confruntat cu diverse probleme legate de audio, precum și video. Mulți oameni au susținut că sunetul nu este la fel de bun ca ar trebui să fie sau există o problemă cu privire la video. Dacă Skype Video sau Audio nu funcționează sau dacă Apelurile nu se conectează în Windows 10, atunci această postare vă va arăta cum să remediați problemele și
Nu există niciun videoclip, niciun sunet sau niciun sunet în Skype
Cum să verificați dacă există un fișier sau director în Python
Când scrieți scripturi Python, este posibil să doriți să efectuați o anumită acțiune numai dacă un fișier sau director există sau nu. De exemplu, poate doriți să citiți sau să scrieți date într-un fișier de configurare sau să creați fișierul numai dacă acesta nu există deja.







