Hogyan lehet ellenőrizni, hogy létezik -e fájl a bash -ban

How Check If File Exists Bash



Linuxon többféleképpen ellenőrizheti a fájl elérhetőségét. A tesztparancs a bash szkriptekben az egyik legfontosabb módszer a fájlok létezésének ellenőrzésére.
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/bash
kidobta 'Í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.sh

Az 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:

  1. teszt EXPRESSION.
  2. ha [EXPRESSION]
  3. 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:

#!/bin/bash
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/bash
fá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/bash
fá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/bash
dir11= 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:

#!/bin/bash
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:

  1. teszt -fmyfile.txt&& kidobta 'fájlt találtunk'

  2. [ -fmyfile.txt] && kidobta '$ fájltalálták. '

  3. [[ -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:

  1. [[ -dtestDir]] && kidobta 'könyvtár létezik'

  2. 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:

#!/bin/bash
ha [ -fnew_file.txt-nak nek -fnewfile.txt];azután
kidobta 'Mindkét fájl létezik.'
lenni

Egy másik módszer:

#!/bin/bash
ha [[ -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:

  1. [[ -fnew_file.txt&& -fnewfile.txt]] && kidobtaMindkét fájl kilép.

  2. [[ -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.