Bash sjekk om katalogen eksisterer

Bash sjekk om katalogen eksisterer

Kataloger og mapper er de viktigste og ganske viktige delene av ethvert operativsystem. Uten kataloger og filer blir ikke systemet vårt fullført. Katalogene brukes til å lagre undermapper og filer som inneholder data i dem for sikkerhet og personlig arbeid. Innenfor Linux -operativsystemet har vi også det samme filsystemet i.e., Kataloger og undermapper. Bash -programmering kom med noen av de veldig enkle kommandoene og utsagnene for å sjekke om den spesifikke katalogen til en fil eksisterer i systemet vårt eller ikke. Derfor har vi bestemt oss for å skrive denne artikkelen for å sjekke om katalogen eksisterer i vårt Linux -system eller ikke.

Eksempel 01: Sjekk om filen eksisterer

La oss komme i gang med det grunnleggende eksemplet. Vi vil se på å sjekke en enkel fil i Linux -systemet vårt først jeg.e., Hvis eksisterer eller ikke. Derfor har vi opprettet en ny teksttypefil som heter “Ny.txt ”i Ubuntus hjemmemappe med“ Touch ”-instruksjonen. Vi har lagt til en en-linjetekst i filen og vist den på skallet ved hjelp av "katten" instruksjonen vist nedenfor. Utgangen fra den under-uttalte kommandoen er vedlagt på bildet.

$ berør nytt.tekst
$ katt ny.tekst

Nå er det på tide å lage en ny bash -fil med "berørings" -instruksjonen som heter "Direc.sh ”som nedenfor. Vi må åpne denne tomme filen for å begynne å kode i den. For dette har vi brukt “Nano” -instruksjonen for å lansere den i GNU Nano Editor. Utgangen fra den under-uttalte kommandoen er vedlagt på bildet.

$ Touch Direc.sh
$ Nano Direc.sh

Nå er den tomme filen åpnet i Nano -redigereren. Innenfor den første kodelinjen har vi initialisert en filvariabel “F” som holder en bane til en fil “Ny.txt ”som“/Home/Linux/Ny.tekst". Uttalelsen om "if-da-da" har blitt brukt her for å sjekke om filen "ny.txt ”eksisterer eller ikke. "IF" -klausulen startes med nøkkelordet "test" etterfulgt av flagget "-f" for filer. Innenfor inverterte komma har vi lagt til variabelen “$ f”. Etter dette startet "da" -klausulen med "ekko" -uttalelsen ved å bruke variabelnavnet for å vise om det eksisterer eller ikke. Den "da" delen av "if-da-da" -uttalelsen vil bare bli utført når tilstanden "if" vil være sann.

La oss kjøre bash -filen ved hjelp av "bash" -tnøkkelordet etterfulgt av navnet på en fil "Direc.sh ”. Som filen eksisterer i hjemmekatalogen til systemet vårt, utførte den dermed Echo -setningen og viser at filen eksisterer. Utgangen fra den under-uttalte kommandoen er vedlagt på bildet.

$ Bash Direc.sh

Det samme kan oppnås ved bruk av firkantede parenteser rundt tilstanden til "hvis" -klausulen uten å bruke nøkkelordet "test" som vist nedenfor. La oss utføre den for å se resultatet i baseutgangsskjermen i skallet.

Etter å ha kjørt denne oppdaterte koden, har vi fått det samme resultatet jeg.e. Filen eksisterer. Utgangen fra den under-uttalte kommandoen er vedlagt på bildet.

$ Bash Direc.sh

Eksempel 02: Sjekk om katalogen eksisterer

La oss se på koden som brukes til å sjekke om katalogen til mappen finnes i systemet vårt eller ikke. For det bruker vi en rent ny mappe. Derfor, innenfor det terminale skall -spørringsområdet, har vi prøvd “Mkdir” -kommandoen for å opprette en ny katalog som heter “New”. Denne nyopprettede katalogen vil bli brukt i vår kode for å sjekke om den eksisterer eller ikke. Listekommandoen blir utført for å se alle eksisterende kataloger og filer i hjemmemappen. Vi kan se den "nye" katalogen som. Utgangen fra den under-uttalte kommandoen er vedlagt på bildet.

$ mkdrir ny
$ ls

La oss åpne det samme “Direc.SH ”-filen i Ubuntus Nano -redigerer for å opprette en ny kode. Etter at filen er lansert, må vi opprette en ny katalogvariabel “D” som holder en vei til en nyopprettet katalog med navnet “New” som “/Home/Linux/New”. Det overordnede arbeidet for å sjekke katalogeksisten. Så "hvis" -uttalelsen er startet med betingelsen for å sjekke katalogen i et system ved hjelp av "-D" -flagget for "katalog" sammen med katalogvariabelen i inverterte komma. Denne tilstanden har blitt brukt i de firkantede parentesene. Hvis tilstanden ble fornøyd og katalogen eksisterer, vil "da" uttalelsen bli utført sammen med "ekko" -uttalelsen. Ellers vil den "ellers" delen av uttalelsen bli brukt sammen med "ekko" -uttalelsen som viser at filen ikke eksisterer. Den samlede uttalelsen vil bli stengt av "FI" nøkkelordet som vist nedenfor.

Nå er det på tide å kjøre bash -koden vår i terminalskallet ved å bruke "bash" -spørsmålet som vises på bildet. Etter å ha kjørt den, har vi fått suksessmeldingen som viser at katalogen eksisterer. Utgangen fra den under-uttalte kommandoen er vedlagt på bildet.

$ Bash Direc.sh

Hvis du vil oppnå den andre delutførelsen i skallterminalen, må du slette katalogen slik at tilstanden ikke blir fornøyd. Derfor har vi slettet den nyopplagte tomme katalogen "Ny" fra hjemmemappen til Ubuntu 20.04 System. Etter dette har vi listet opp innholdet i hjemmemappen ved hjelp av listekommandoen og funnet at det ikke er noen katalog med navnet "Ny" som nedenfor. Etter å ha kjørt den samme “Direc.sh ”bash -fil med“ bash ”-instruksjonen, har vi fått utdataene som viser at den andre delen av koden er utført i.e., Katalog eksisterer ikke.

$ ls
$ Bash Direc.sh

Konklusjon

Endelig! Vi har gjort forklaringen på å sjekke ut hvis katalogen eksisterer i Ubuntu 20.04 System eller ikke. For dette har vi prøvd bashskriptet for å oppnå vårt mål. Vi har også diskutert bruken av "-f" for filkontroll og "-d" for katalogsjekking i systemet. Alle eksemplene er enkle og i henhold til vårt brukervalg.