Ennek az útmutatónak a középpontjában egy fájl létezésének megvitatása áll a rendszerben bash szkripteléssel:
A fájlok létezésének ellenőrzése bash szkript használatával:
1) Ha beírja a fájlnevet a terminálba:
Először létre kell hoznunk egy bash parancsfájlt, használja az alábbi parancsot:
$érintéstesztfájl.sh
Az általam létrehozott fájl neve testfile.sh, a .sh kiterjesztés a shell script fájlt jelzi:
Nyissa meg a testfile.sh fájlt bármelyik szövegszerkesztőben. Ezután írja be a szkriptet, és mentse a mentés gomb megnyomásával.
Az egyik módja annak, hogy megkeres egy fájlt úgy, hogy a terminálon a felhasználótól fájlnevet kér.
Használat -f hogy ellenőrizze a fájl létezését.
Írd le az alábbi szkriptet:
#!/bin/bashkidobta 'Írja be a fájlnevét'
olvasúj fájl 1
ha [ -f '$ newfile1' ]
azután
kidobta 'A fájl megtalálható'
más
kidobta 'A fájl nem található'
lenni
Menjen vissza a terminálhoz, és futtassa a fájlt a nyomtatáshoz:
./fájlnév.shAz engedély megtagadva üzenet jelenik meg a terminálon.
Tegye futtathatóvá az alábbi parancs végrehajtásával:
$chmod+ x tesztfájl.sh
Írja be a fájl nevét, és kinyomtatja a kimenetet:
2) A fájl nevének megadásával a szkript írása közben:
Egy másik módszer a fájl megkeresésére, ha megadja a fájl nevét a szkript írásakor. Háromféleképpen ellenőrizhetjük a fájl elérhetőségét. Az első a tesztparancsot használja, a második az if kifejezést használja szögletes zárójelben, a harmadik pedig ha, de kettős szögletes zárójelben, az alábbiak szerint:
- teszt EXPRESSION.
- ha [EXPRESSION]
- ha [[KIFEJEZÉS]]
Értsük meg példákkal:
1) teszt [kifejezés]
Másolja a megadott szkriptet, és illessze be a szerkesztőbe, mentse el:
fájl név= fájl1
ha teszt -f '$ fájlnév';
azután
kidobta '$ fájlmegtalálta. '
más
kidobta '$ fájlnem találták '
lenni
Kimenet:
Mivel a könyvtáromban nincs ilyen fájl, ezért a kód a Fájl nem található üzenetet jeleníti meg.
2) ha [kifejezés]
Másolja a következő parancsfájlt, hogy ellenőrizze, létezik -e fájl vagy sem:
#!/bin/bashfájl név= saját fájl.txt
ha [ -f '$ fájlnév' ];
azután
kidobta '$ fájlnévmegtalálta. '
más
kidobta 'a fájlnév nem található'
lenni
Kimenet:
3) ha [[kifejezés]]
Másolja az alábbi szkriptet, és illessze be a terminálra:
#!/bin/bashfájl név= tesztfájl
ha [[ -f '$ fájlnév' ]];
azután
kidobta '$ fájlnévmegtalálta. '
más
kidobta '$ fájlnévnem találták '
lenni
Kimenet:
A könyvtár ellenőrzése:
3) Írja be a könyvtár nevét szkript írásakor
Használja a -d zászlóval, hogy ellenőrizze a könyvtár létezését.
Az alább említett szkriptben a dir11 az a változó, amelyben a talált fájlt tárolja; ebben a példában azt szeretném ellenőrizni, hogy létezik -e a testDir könyvtárnév.
#!/bin/bashdir11= tesztDir
ha [ -d '$ dir11' ]
azután
kidobta 'A könyvtár megtalálta'
más
kidobta 'A könyvtár nem található'
lenni
Kimenet:
2) Ha beírja a fájlnevet a terminálba:
Amikor futtatja a parancsot a terminálon annak ellenőrzésére, hogy létezik -e a címtár, vagy sem, be kell írnia a keresett könyvtár nevét:
kidobta 'írja be a könyvtár nevét.'
olvasDir1
ha [ -d 'Dir1' ]
azután
kidobta 'könyvtár megtalálva'
más
kidobta 'a könyvtár nem található'
lenni
Kimenet:
A fájl ellenőrzése az if utasítás használata nélkül:
A tesztparancs az if utasítás nélkül is végrehajtható. Csak akkor jeleníti meg a kimenetet, ha a fájl létezik; egyébként nem lesz kimenet:
Szkript írása:
- teszt -fmyfile.txt&& kidobta 'fájlt találtunk'
- [ -fmyfile.txt] && kidobta '$ fájltalálták. '
- [[ -fmyfile.txt]] && kidobta '$ fájltalálták. '
Kimenet:
A könyvtár ellenőrzése az if utasítás használata nélkül:
Használja az alábbi utasításokat annak ellenőrzésére, hogy létezik-e könyvtár vagy sem:
- [[ -dtestDir]] && kidobta 'könyvtár létezik'
- 2) [ -dtestDir] && kidobta 'könyvtár létezik'
Kimenet:
Több fájl/könyvtár ellenőrzése:
1) Több fájl ellenőrzése az alábbi állításokkal:
A -a jelző használatával ellenőrizheti a különböző fájlok létezését ahelyett, hogy beágyazott if/else utasításokat használna:
ha [ -fnew_file.txt-nak nek -fnewfile.txt];azután
kidobta 'Mindkét fájl létezik.'
lenni
Egy másik módszer:
#!/bin/bashha [[ -fnew_file.txt&& -fnewfile.txt]];azután
kidobta 'Mindkét fájl létezik.'
lenni
Kimenet:
2) Több fájl ellenőrzése az if utasítás használata nélkül:
Használja az alábbi utasítást több fájl egyidejű ellenőrzéséhez 1 anélkül, hogy:
- [[ -fnew_file.txt&& -fnewfile.txt]] && kidobtaMindkét fájl kilép.
- [[ -fnew_file.txt&& -fnewfile.txt]] && kidobtaMindkét fájl kilép.
Kimenet:
Következtetés:
Ez a cikk bemutatta, hogyan kell használni a bash parancsfájlokat egy fájl vagy könyvtár ellenőrzéséhez. Különböző lehetőségeket használtunk a fájl elérhetőségének ellenőrzésére. Először is, a tesztparancsot különböző zászlókkal használjuk. Ezután megtanultuk az if, beágyazott if-else használatát, és az if utasítás nélkül a fájl vagy könyvtár ellenőrzését. Azt is megvizsgáltuk, hogyan lehet több fájlt vagy könyvtárat ellenőrizni.