Bash-ellenőrzés, ha létezik fájl

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.

Write a Comment

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük