Sådan kontrolleres, om filen eller biblioteket findes i Bash

Når du arbejder med Bash og shell-scripting, skal du muligvis kontrollere, om et bibliotek eller et fil findes eller ikke på dit filsystem.

Baseret på denne betingelse kan du afslutte scriptet eller vise en advarselsmeddelelse for slutbrugeren for eksempel.

For at kontrollere, om en fil eller en mappe findes med Bash, skal du bruge “Bash-tests”.

I denne vejledning vil du lære at kontrollere, om en fil eller mappe findes i et Bash-script.

Indholdsfortegnelse

Kontroller, om filen findes

For at kontrollere, om der findes en fil i Bash , skal du bruge indstillingen “-f” (til fil) og angive den fil, du vil kontrollere.

Lad os f.eks. sige det du vil kontrollere, om filen “/ etc / passwd” findes på dit filsystem eller ej.

I et script vil du skrive følgende, hvis erklæring.

Kontroller fileksistens ved hjælp af kortere former

I nogle tilfælde kan du være interesseret i at kontrollere, om en fil findes eller ikke direkte i din Bash-shell.

For at kontrollere, om der findes en fil i Bash ved hjælp af kortere formularer, skal du angive “-f” i parentes og tilføje den kommando, du vil køre, hvis den lykkes.

Brug eksemplet, der blev brugt før, hvis du vil kontrollere, om filen “/ etc / passwd” findes ved hjælp af kortere formularer, skal du skrive følgende kommando

Så hvordan fungerer denne kommando?

Kortere formularer er tæt knyttet til exit-status.

Når du kører en kommando på Bash, afsluttes den altid med en fejlstatus: 0 for fejl og tal større end 0 for fejl (1, 2 .. 6 og så videre)

I dette tilfælde vil “& &” syntaksen kontrollere, om udgangsstatus for kommandoen til venstre er lig med nul: hvis dette er tilfældet, udfører det kommandoen til højre, ellers udfører den ikke den.

Protip: du kan brug “echo $ {?}” for at se exitstatus for den seneste kommandokørsel

Kontrol af flere filer

I i nogle tilfælde vil du måske kontrollere, om der findes flere filer på dit filsystem eller ej.

For at kontrollere, om der findes flere filer i Bash, skal du bruge flagget “-f” og angive de filer, der skal kontrolleres adskilt af operatøren “& &”.

Kontroller, om der ikke findes en fil

På den anden side vil du måske kontrollere, om der ikke findes en fil på dit filsystem.

For at kontrollere, om en fil ikke findes ved hjælp af Bash skal du bruge “!” symbol efterfulgt af indstillingen “-f” og den fil, du vil kontrollere.

På samme måde kan du bruge kortere formularer, hvis du hurtigt vil kontrollere hvis en fil ikke findes direkte i din terminal.

Bemærk, at det også er muligt at kontrollere, om en fil ikke findes ved hjælp af “||” operatør.

“||” operatøren udfører kommandoen til højre, hvis og kun hvis kommandoen til venstre mislykkes (dvs. afsluttes med en status større end nul).

At teste om en fil ikke findes ved hjælp af “||” operatør, skal du blot kontrollere, om den findes ved hjælp af “-f” -flagget, og angiv kommandoen, der skal køres, hvis den mislykkes.

Kontroller, om telefonbogen findes

For at kontrollere om der findes en mappe i Bash, skal du bruge indstillingen “-d” og angive det katalognavn, der skal kontrolleres.

Lad os som et eksempel sige, at du vil tjekke med Bash, hvis kataloget / etc findes på dit system.

For at kontrollere dets eksistens, ville du skrive følgende Bash-script

Når du udfører dette script, får du følgende output

Kontroller katalogeksistens ved hjælp af kortere former

I nogle tilfælde kan du være interesseret i at kontrollere, om der findes en mappe eller ikke direkte i din Bash-shell.

For at kontrollere om der findes en mappe i Bash ved hjælp af kortere formularer, angiv “-d” i parentes og tilføj den kommando, du vil køre, hvis den lykkes.

Lad os sige, at du f.eks. vil kontrollere, om” / etc “-mappen findes.

Ved hjælp af den kortere syntaks ville du skrive følgende kommando.

Oprettelse af et komplet Bash-script

Hvis du finder dig selv at kontrollere flere gange om dagen, om der findes en fil (eller flere) på dit filsystem, kan det være praktisk at have et script, der kan automatisere denne opgave.

I dette afsnit skal du oprette et Bash-script, der kan tage flere filnavne og returnere, hvis de findes eller ikke.

Hvis de ikke gør det, vises en simpel meddelelsesmeddelelse på standardoutputtet.

Opret et nyt Bash-script, og gør det eksekverbart ved hjælp af chmod.

Her er indholdet af scriptet, der skal bruges til dynamisk at kontrollere, om der findes filer.

Gem dit script, og tilføj mappen “bin”, du lige har oprettet, til din PATH-miljøvariabel.

Nu hvor dit script er tilgængeligt, uanset hvor du er på systemet, kan du ringe til dit script og starte kontrol ing, hvis der findes filer eller ej.

Awesome!

Du oprettede en brugerdefineret for at kontrollere, om der findes filer på dit filsystem eller ej.

Konklusion

I denne vejledning lærte du, hvordan du kan kontrollere, om en fil findes eller ikke bruger Bash-tests og Bash-kort syntaks.

Tilsvarende lærte du hvordan det er muligt at kontrollere, om der findes en mappe.

Endelig har du skrevet et komplet Bash-script, der accepterer dynamiske argumenter for at kontrollere, om der findes flere filer eller ej.

Hvis du er interesseret i Bash-programmering eller Linux-systemadministration, vi har et komplet afsnit dedikeret til det på hjemmesiden, så sørg for at tjekke det ud!

bash

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *