Legtöbbször előfordulhat, hogy olyan helyzetet találhatunk, amelyben szükségünk lehet egy olyan művelet végrehajtására, amely ellenőrzi, létezik-e fájl vagy sem.
A Bash-ban egy “teszt parancs” segítségével ellenőrizhetjük, hogy létezik-e fájl, és meghatározzuk a fájl típusát.
Az alábbiakban bemutatjuk a teszt parancs szintaxisait, és mi a következő parancsok bármelyikét használhatja:
Egyetlen “[” “zárójel használatával kell parancsfájlunkat hordozhatóvá tenni az összes POSIX héj számára. A tesztparancs frissített verziója kettős zárójelet tartalmaz “[[“, amelyet a legtöbb modern rendszer támogat, alapértelmezett shellként Bash, Zsh és Ksh használatával.
Ellenőrizze, hogy létezik-e fájl
Ellenőrizve, hogy létezik-e fájl, a leggyakrabban használt fájloperátorok az -e és -f. A “-e” opcióval ellenőrizhető, hogy létezik-e fájl, a típustól függetlenül, míg a “-f” opcióval csak akkor lehet visszaadni a valós értéket, ha a fájl normál fájl (nem könyvtár vagy eszköz). / p>
A fájl létezésének vagy ellenőrzésének leggyakoribb lehetősége a tesztparancs használata az “if feltételes utasítással”.
Az alábbiakban bemutatjuk a “read_file” fájl ellenőrzését. txt “fájl létezik:
1. módszer
2. módszer
3. módszer
Kimenet
Mindhárom módszer kimenete az alábbiak szerint alakul, mert van egy fájl (read_file.txt) a könyvtárban:
read_file.txt exist
Ha olyan műveletet akarunk végrehajtani, amely eredményt ad a fájl létezése alapján, akkor az if / then konstrukciót használhatjuk a a következő módon:
Példa
Kimenet
read_file.txt exist
A teszt parancsot az if utasítás nélkül is használhatjuk. A következő módszerek bármelyikét használhatjuk:
1. módszer
2. módszer
3. módszer
Kimenet
Mindhárom módszer kimenete az alábbi lesz, mert van egy fájl (read_file.txt) a könyvtárban:
read_file.txt exist
Példa
Ellentétben a & &, a || utáni állítás Az operátor csak akkor hajtódik végre, ha a tesztparancs kilépési állapota “hamis”.
Példa
Kimenet
read_file.txt exist
Ezek a Bash-ban gyakran használt módszerek annak ellenőrzésére, hogy a fájl létezik-e vagy sem.
Ellenőrizze, hogy létezik-e könyvtár
A “-d” operátor segítségével tesztelhetjük, hogy egy fájl könyvtár-e vagy sem.
Az alábbiakban bemutatjuk a “Javatpoint” könyvtár létezésének ellenőrzését:
1. módszer
2. módszer
Megjegyzés: Használhatunk dupla zárójeleket is “[[” egyetlen zárójel “” helyett .
Kimenet
A fenti módszerek kimenetei az alábbiak lesznek, mivel a megadott helyen van egy Javatpoint nevű könyvtár:
Javatpoint is a directory
Ellenőrizze, hogy a fájl nem létezik-e
A tesztkifejezés a felkiáltójel (! -logical NOT operátor) használatával tagadható. Nézze meg a következő példát:
Példa
A fenti szkript az alábbiak szerint is írható:
Kimenet
missing_read_file.txt unavailable
Fájl teszt operátorok
A teszt parancsok a következő fájl operátorokat tartalmazzák, amelyek lehetővé teszik számunkra, hogy teszt bizonyos típusú fájlokra:
-b FileReturns | “True”, ha a FÁJL speciális blokkként létezik fájl. |
-c FileReturns | “Igaz”, ha a FÁJL speciális karakter fájlként létezik. |
-d FileReturns | “True”, ha a FILE könyvtárként létezik. |
-e FileReturns | “True “ha a FÁJL fájlként létezik, a típustól (csomópont, könyvtár, socket stb.) függetlenül. |
-f FileReturns | ” True ” ha a FÁJL normál fájlként létezik (nem könyvtárként vagy eszközként). |
-G FileReturns | “Igaz”, ha a FÁJL létezik és tartalmazza a ugyanaz a csoport, mint a felhasználó, amikor a komm fut és. |
-h FileReturns | “True”, ha a FÁJL szimbolikus linkként létezik. |
-g FileReturns | “Igaz”, ha a FÁJL létezik, és tartalmaz set-group-id (sgid) jelzőkészletet. |
-k FileReturns | “Igaz”, ha a FÁJL létezik és ragadós bitjelző készletet tartalmaz. |
-L FileReturns | “Igaz”, ha A FILE szimbolikus hivatkozásként létezik. |
-O FileReturns | “True”, ha a FILE létezik és a parancsot futtató felhasználó tulajdonában van. |
-p FileReturns | “True”, ha a FÁJL pipaként létezik. |
– r FileReturns | “True”, ha a FÁJL olvasható fájlként létezik. |
-S FileReturns | “True”, ha a A FILE foglalatként létezik. |
-s FileReturns | “Igaz”, ha a FÁJL létezik és nem nulla méretű. |
-u FileReturns | “Igaz”, ha a FÁJL létezik, és a set-user-id (suid) jelző be van állítva. |
-w FileReturns | “True”, ha a FÁJL írható fájlként létezik. |
-x FileReturns | “True”, ha a FILE létezik futtatható fájl. |