BASH-programmering

Sådan kontrolleres, om der findes en fil i bash

Sådan kontrolleres, om der findes en fil i bash
Der er flere måder at kontrollere tilgængeligheden af ​​en fil i Linux. “Test” -kommandoen i bash-scripting er en af ​​de vigtigste tilgange til kontrol af en fils eksistens.
Fokus for denne guide er at diskutere eksistensen af ​​en fil i dit system gennem bash scripting:

Sådan kontrolleres fileksistensen ved hjælp af bash-scripting:

1) Ved at indtaste filnavnet i terminalen:

For det første skal vi oprette en bash-scriptfil, brug nedenstående kommando:

$ touch testfil.sh

Navnet på den fil, jeg oprettede, er “testfile.sh ”,“.udvidelsen sh ”angiver shell-scriptfilen:

Åbn “testfilen.sh ”i enhver teksteditor. Skriv derefter scriptet, gem det ved at trykke på "gem".

En måde er at finde en fil ved at bede om et filnavn fra brugeren i terminalen.

Brug "-f”For at kontrollere filens eksistens.

Skriv nedenstående script:

#!/ bin / bash
ekko "Indtast dit filnavn"
læs nyfil1
hvis [-f "$ newfile1"]
derefter
ekko "Fil er fundet"
andet
ekko "Filen blev ikke fundet"
fi

Gå tilbage til terminalen og kør filen for at udskrive output:

./filnavn.sh

Tilladelse nægtet meddelelse vises i terminalen.

Gør det eksekverbart ved at udføre nedenstående kommando:

$ chmod + x testfil.sh

Indtast filnavnet, og det vil udskrive output:

2) Ved at indtaste filnavnet mens du skriver scriptet:
En anden måde at finde en fil ved at give filnavnet, mens du skriver scriptet. Vi har tre måder at kontrollere tilgængeligheden af ​​filen. Den første bruger kommandoen “test”, den anden bruger “hvis” med et udtryk i firkantede parenteser, og den tredje er også med “hvis” men dobbelte firkantede parenteser som angivet nedenfor:

  1. “Test EKSPRESSION.”
  2. “Hvis [EKSPRESSION]”
  3. "Hvis [[UDTRYK]]"

Lad os forstå det med eksempler:

1) test [udtryk]
Kopier det givne script, og indsæt det i editoren, gem det:

#!/ bin / bash
filnavn = fil1
hvis test -f "$ filnavn";
derefter
ekko "$ -fil har fundet."
andet
ekko "$ fil er ikke fundet"
fi

Produktion:

Da der ikke er nogen sådan fil i min mappe, viser koden derfor meddelelsen "File is not found".

2) hvis [udtryk]

Kopier følgende script for at kontrollere, om filen findes eller ej:

#!/ bin / bash
filnavn = myfil.txt
hvis [-f "$ filnavn"];
derefter
ekko "$ filnavn er fundet."
andet
ekko "filnavn er ikke fundet"
fi

Produktion:

3) hvis [[udtryk]]

Kopier nedenstående skriftlige script og indsæt det på terminalen:

#!/ bin / bash
filnavn = testfil
hvis [[-f "$ filnavn"]];
derefter
ekko "$ filnavn er fundet."
andet
ekko "$ filnavn er ikke fundet"
fi

Produktion:

For at kontrollere biblioteket:

3) Ved at indtaste katalognavnet, mens du skriver et script

Brug "-d”Flag for at kontrollere eksistensen af ​​en mappe.

I nedenstående script er “dir11” variablen, hvor du gemmer filen, den du finder; i dette eksempel vil jeg kontrollere biblioteksnavnet “testDir” findes eller ikke.

#!/ bin / bash
dir11 = testDir
hvis [-d "$ dir11"]
derefter
ekko "Directory har fundet"
andet
ekko "Directory er ikke fundet"
fi

Produktion:

2) Ved at indtaste filnavnet i terminalen:
Når du kører kommandoen i terminalen for at kontrollere, om kataloget findes eller ej, skal du indtaste det katalognavn, du søger efter:

#!/ bin / bash
ekko "skriv dit biblioteksnavn."
læs Dir1
hvis [-d "Dir1"]
derefter
ekko "katalog er fundet"
andet
ekko "biblioteket har ikke fundet"
fi

Produktion:

Kontrol af filen uden brug af "if" -sætningen:

Kommandoen “test” kan udføres uden “hvis” -sætningen. Det viser kun output, hvis filen findes; ellers ville der ikke være nogen output:

Skriv script:

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

  2. [-f myfil.txt] && echo "$ fil blev fundet."

  3. [[-f myfil.txt]] && echo "$ fil er fundet."

Produktion:

Kontrol af biblioteket uden brug af "if" -sætningen:

Brug nedenstående udsagn til at kontrollere, at der findes en mappe:

  1. [[-d testDir]] && echo "katalog findes"

  2. 2) [-d testDir] && echo "katalog findes"

Produktion:

Kontrol af flere filer / kataloger:

1) Kontrol af flere filer med "if" udsagn:
Brug “-a” flag til at kontrollere eksistensen af ​​forskellige filer i stedet for at bruge indlejrede “if / else” udsagn:

#!/ bin / bash
hvis [-f ny_fil.txt -a -f ny fil.txt]; derefter
ekko "Begge filer findes."
fi

En anden måde er:

#!/ bin / bash
hvis [[-f ny_fil.txt && -f nyfil.txt]]; derefter
ekko "Begge filer findes."
fi

Produktion:

2) Kontrol af flere filer uden brug af "if" -sætningen:
Brug følgende udsagn til at kontrollere flere filer samtidigt 1 uden at bruge “if”:

  1. [[-f ny_fil.txt && -f ny fil.txt]] && echo “Begge filer afsluttes.”

  2. [[-f ny_fil.txt && -f nyfil.txt]] && echo “Begge filer afsluttes.”

Produktion:

Konklusion:

Denne artikel har vist, hvordan man bruger bash-scripting til at kontrollere en fil eller et bibliotek. Vi brugte forskellige muligheder for at kontrollere tilgængeligheden af ​​en fil. For det første bruger vi kommandoen “test” med forskellige flag. Derefter lærte vi brugen af ​​"if", indlejret "if-else" og uden "if" -sætningerne for at kontrollere filen eller biblioteket. Vi kiggede også over, hvordan vi kontrollerer flere filer eller mapper.

OpenTTD Tutorial
OpenTTD er et af de mest populære forretningssimuleringsspil derude. I dette spil skal du oprette en vidunderlig transportvirksomhed. Du starter dog i...
SuperTuxKart til Linux
SuperTuxKart er en fantastisk titel designet til at give dig Mario Kart-oplevelsen gratis på dit Linux-system. Det er ret udfordrende og sjovt at spil...
Kæmp om Wesnoth-vejledning
Slaget om Wesnoth er et af de mest populære open source-strategispil, som du kan spille på dette tidspunkt. Ikke kun har dette spil været under udvikl...