BASH-programmering

Hvordan sjekke om en fil eksisterer i bash

Hvordan sjekke om en fil eksisterer i bash
Det er flere måter å sjekke tilgjengeligheten av en fil i Linux. “Test” -kommandoen i bash scripting er en av de viktigste tilnærmingene for å kontrollere eksistensen av en fil.
Fokuset i denne veiledningen er å diskutere eksistensen av en fil i systemet ditt gjennom bash scripting:

Hvordan sjekke fileksistensen ved hjelp av bash-skript:

1) Ved å skrive inn filnavnet i terminalen:

For det første må vi lage en bash-skriptfil, bruk kommandoen nedenfor:

$ touch testfil.sh

Navnet på filen jeg opprettet er “testfile.sh ”,“.utvidelsen sh ”indikerer skallskriptfilen:

Åpne “testfilen.sh ”i hvilken som helst tekstredigerer. Skriv deretter skriptet, lagre det ved å trykke “lagre”.

En måte er å finne en fil ved å be om et filnavn fra brukeren i terminalen.

Bruk "-f”For å sjekke filens eksistens.

Skriv nedenstående skript:

#!/ bin / bash
ekko "Skriv inn filnavnet ditt"
les nyfil1
hvis [-f "$ newfile1"]
deretter
ekko "Fil er funnet"
ellers
ekko "Filen ble ikke funnet"
fi

Gå tilbake til terminalen og kjør filen for å skrive ut:

./filnavn.sh

Melding om tillatelse nektet vises i terminalen.

Gjør det kjørbart ved å utføre kommandoen nedenfor:

$ chmod + x testfil.sh

Skriv inn filnavnet, og det vil skrive utdataene:

2) Ved å skrive inn filnavnet mens du skriver skriptet:
En annen måte å finne en fil ved å gi filnavnet mens du skriver skriptet. Vi har tre måter å sjekke tilgjengeligheten av filen på. Den første bruker "test" -kommandoen, den andre bruker "if" med et uttrykk i parentes, og den tredje er også med "if" men doble firkantede parenteser som angitt nedenfor:

  1. “Test UTTRYKK.”
  2. “Hvis [EXPRESSION]”
  3. “Hvis [[UTTRYKK]]”

La oss forstå det med eksempler:

1) test [uttrykk]
Kopier det gitte skriptet og lim det inn i redigeringsprogrammet, lagre det:

#!/ bin / bash
filnavn = fil1
hvis test -f "$ filnavn";
deretter
ekko "$ filen har funnet."
ellers
ekko "$ fil ble ikke funnet"
fi

Produksjon:

Siden det ikke er noen slik fil i katalogen min, viser koden meldingen "Filen ble ikke funnet".

2) hvis [uttrykk]

Kopier følgende skript for å sjekke om filen eksisterer eller ikke:

#!/ bin / bash
filnavn = minfil.tekst
hvis [-f "$ filnavn"];
deretter
ekko "$ filnavn har funnet."
ellers
ekko "filnavn er ikke funnet"
fi

Produksjon:

3) hvis [[Uttrykk]]

Kopier det nedskrevne skriptet og lim det inn på terminalen:

#!/ bin / bash
filnavn = testfil
hvis [[-f "$ filnavn"]];
deretter
ekko "$ filnavn har funnet."
ellers
ekko "$ filnavn er ikke funnet"
fi

Produksjon:

Slik sjekker du katalogen:

3) Ved å skrive inn katalognavnet mens du skriver et skript

Bruke "-d”Flagg for å kontrollere eksistensen av en katalog.

I det nevnte skriptet er “dir11” variabelen der du lagrer filen du finner; i dette eksemplet vil jeg sjekke katalognavnet “testDir” eksisterer eller ikke.

#!/ bin / bash
dir11 = testDir
hvis [-d "$ dir11"]
deretter
ekko "Directory har funnet"
ellers
ekko "Katalog er ikke funnet"
fi

Produksjon:

2) Ved å skrive inn filnavnet i terminalen:
Når du kjører kommandoen i terminalen for å sjekke om katalogen eksisterer eller ikke, må du oppgi katalognavnet du søker etter:

#!/ bin / bash
ekko "skriv inn katalognavnet ditt."
les Dir1
hvis [-d "Dir1"]
deretter
ekko "katalog er funnet"
ellers
ekko "katalogen har ikke funnet"
fi

Produksjon:

Kontrollere filen uten å bruke "if" -uttalelsen:

"Test" -kommandoen kan utføres uten "if" -uttalelsen. Det vil bare vise utdata hvis filen eksisterer; Ellers ville det ikke være noe resultat:

Skriv manus:

  1. test -f myfile.txt && echo "filen er funnet"

  2. [-f myfil.txt] && echo "$ file er funnet."

  3. [[-f myfile.txt]] && echo "$ file er funnet."

Produksjon:

Kontrollere katalogen uten å bruke setningen "if":

Bruk utsagnene nedenfor for å sjekke at en katalog eksisterer eller ikke:

  1. [[-d testDir]] && echo "katalogen eksisterer"

  2. 2) [-d testDir] && echo "katalogen eksisterer"

Produksjon:

Kontrollere flere filer / kataloger:

1) Kontrollere flere filer med "if" -uttalelser:
Bruk “-a” -flagget for å kontrollere eksistensen av forskjellige filer i stedet for å bruke nestede “if / else” -uttalelser:

#!/ bin / bash
hvis [-f ny_fil.txt -a -f nyfil.tekst ]; deretter
ekko "Begge filene finnes."
fi

En annen måte er:

#!/ bin / bash
hvis [[-f ny_fil.txt && -f nyfil.tekst ]]; deretter
ekko "Begge filene finnes."
fi

Produksjon:

2) Kontrollere flere filer uten å bruke setningen "if":
Bruk følgende påstand for å sjekke flere filer samtidig 1 uten å bruke “if”:

  1. [[-f ny_fil.txt && -f nyfil.txt]] && echo “Begge filene avsluttes.”

  2. [[-f ny_fil.txt && -f nyfil.txt]] && echo “Begge filene avsluttes.”

Produksjon:

Konklusjon:

Denne artikkelen har vist hvordan du bruker bash scripting for å sjekke en fil eller en katalog. Vi brukte forskjellige alternativer for å sjekke tilgjengeligheten av en fil. For det første bruker vi kommandoen “test” med forskjellige flagg. Da lærte vi bruken av "if", nestet "if-else", og uten "if" -uttalelsene for å sjekke filen eller katalogen. Vi så også over hvordan du sjekker flere filer eller kataloger.

Mus Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
De fleste Linux-distribusjoner leveres med "libinput" -biblioteket som standard for å håndtere inngangshendelser på et system. Den kan behandle inngan...
Mus Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kanskje du trenger et verktøy som kan gjøre at musens kontroll endres med hvert program du bruker. Hvis dette er tilfelle, kan du prøve et program som...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har nylig lest om Microsoft Sculpt Touch trådløs mus og bestemte meg for å kjøpe den. Etter å ha brukt den en stund bestemte jeg meg for å dele mi...