Bash Sjekk om filen eksisterer
Jobber du med skallskripting og Bash? Denne artikkelen er for deg. På et tidspunkt i arbeidet må du sjekke filsystemet ditt. Er katalogen din fremdeles der? Ikke sikker på om filen din eksisterer lenger? Dette er de to viktige spørsmålene du trenger å vite.
Hvordan vet du om katalogen eller filen din finnes med Bash? Svaret er enkelt, gjør en «Bash Test.» I dag lærer vi deg hvordan du gjør nettopp det. På slutten av denne artikkelen bør du sjekke selv om det fortsatt finnes en fil eller katalog i Bash-skriptet.
Test om en vanlig fil eksisterer
Den første bekymringen du bør takle er om den vanlige filen din eller katalog fortsatt eksisterer i Bash-skript. For å svare på dette spørsmålet, må du utføre testkommandoen.
Hvis du vil sjekke om filen din eksisterer, må du bruke «-f ”Filalternativ. Sørg for å indikere hvilken fil du prøver å se etter.
Vi bruker «/ user / commrev» som en fil eksempel gjennom hele artikkelen.
Så for eksempel prøver du å teste om filen «/ user / commrev» eksisterer. I bash-skriptet ditt må du skrive det ned som:
if ].
Hvis filen eksisterer, bør neste ledetekst du ser, være,
else echo "<file> exists on your file system."
Ved å bruke korte vilkår
Du kan også direkte test bash shell ved å bruke og eksisterende korte vilkår. Bruk den samme symbolske lenken «-f», og skriv inn kommandoen du vil kjøre. Så du må åpne testkommandoen og skrive følgende som
if ] && echo "This file exists!"
Kontrollerer om mer enn én fil eksisterer
Hvis du vil sjekke om mer enn én fil eksisterer, kan du I likhet med de ovennevnte situasjonene, bruk «-f» og test om en fil du prøver å finne fremdeles er der. Separer filene ved å bruke operatøren «& &”.
Du vil for eksempel teste om 1 fil 1 og 2-fil eksisterer. Du kan skrive den på testkommandoen som følger:
if ] && ] thenecho "file exists!" fi.
Enkelt! Husk å huske kommandoen «-f» og filnavnet du leter etter.
Sjekk om en fil ikke eksisterer
Den neste du Jeg trenger å lære er å sjekke om en fil ikke eksisterer lenger. Kommandoen er lett å lære og huske.
Bruk «!» Ved hjelp av Bash-skriptet. symbolet og følg det med alternativet «-f» og filen du prøver å sjekke.
For eksempel:
if ] then echo "<file> does not exist on your file system. "
Du kan også bruke kortere skjemaer, i likhet med eksemplet ovenfor. Du vil raskt kunne teste om det finnes en fil på terminalen din eller ikke. Så du kan skrive den på testkommandoen som
] && echo "This file does not exist!" && echo "File does not exist!"
Alternativt kan du også bruke ”| | ”Operatør. Den utfører riktig kommando i tilfelle den venstre kommandoen mislykkes. Du kan skrive det som følger,
] | | echo "File does not exist!"
Enkelt! Du vil kunne sjekke om det finnes en fil på Bash eller ikke!
Sjekk om katalogen eksisterer
Hvordan vet du om katalogene dine fortsatt finnes i Bash? Vel, du må bruke og huske det symbolske koblingsalternativet «-d». Følg denne kommandoen med katalogen du prøver å se etter.
if ]thenecho " FILE DIRECTORY exist ." fi
For illustrasjon, vil du teste i Bash om / user / commrev fremdeles finnes i katalogen. Det vil se ut slik:
#!/bin/bash if ] thenecho "/user/commrev exists on your file system."
Når du skriver denne kommandoen på Bash, skal utdataene se ut som denne $ / osv. Eksisterer på filsystemet ditt.
Ved å bruke kort vilkår
I likhet med hvordan du kan bruke korte vilkår for å teste om det finnes en fil på Bash, kan du også gjøre det samme for katalogen. I bash-skallet kan du bruke korte vilkår for å sjekke om en katalogen fortsatt eksisterer.
For å teste den, bruker du alternativet «-d». Sørg for å sette den i parentes, og følg den opp med kommandoen du vil kjøre. Det skal se ut slik:
] && echo "FILE directory exists!" && echo "This FILE directory exists!"
Du vil teste og sjekke om / user / commrev finnes i katalogen din. Du kan bruke kort sikt, og du vil skrive den opp som
" && echo "This directory exists!"
Hvordan lage et Bash-skript
Å huske alle disse kommandoene og alternativene kan være utfordrende for noen, spesielt hvis du er typen person som sjekker flere ganger om en bestemt fil eksisterer eller katalogen fortsatt eksisterer på systemet . Vel, det kan være nyttig for deg å lære hvordan du lager et skript som kan gjøre oppgaven for deg automatisk!
Vi lærer deg hvordan du lager et bash-skript som kan sjekke flere filnavn.Du trenger ikke fortsette å skrive kommandoen lenger.
Ved å bruke chmod kan du enkelt opprette et nytt bash-skript og utføre det. Det vil se ut slik:
$ mkdir -p ~/bin $ cd ~/bin && touch check_file && chmod u+x check_file && vi check_file
Generelt sett, hvis du begynner å sjekke om filen din eksisterer, vil skriptinnholdet være slik:
Før du avslutter Bash, må du huske å lagre skriptet. Legg til «bin» -mappen og legg den til PATH-miljøet. Det vil se ut slik:
$ export PATH="~/bin:$PATH" $ printrev PATH ~/bin: /usr/local/sbin: /usr/local/bin: /usr/sbin: /usr/bin: /sbin: /bin
Du får tilgang til den hvor som helst på systemet! Du kan til og med trekke ut skriptet ditt og sjekke om filen din eksisterer eller ikke. Ferdig! Ingen grunn til å fortsette å åpne testkommandoen.
Endelig Ord
I dag lærte du hvordan du kan sjekke og teste om filen din eksisterer eller ikke på Bash!
Ved å bruke bash-testen og bash-shell-testen på kort sikt, vil du være i stand til å finne dem! Finn en fil eller to på kort tid! Du lærte også å teste om en katalog fortsatt eksisterer!
Og til slutt lærte vi deg hvordan du kan gjøre livet litt bedre for deg. Vi har lært deg hvordan du skriver et komplett bash-skript for å sjekke om en fil eksisterer flere ganger samtidig.
Du vant Du trenger ikke å bry deg selv når du leter etter en fil! Du kan vente til programmet kjører filsystemet ditt og gi deg tilbakemelding om ile eksisterer ikke eller ikke.
Enten du prøver å sjekke om filen eller katalogen eksisterer, håper vi at vi hjalp deg!