Fokus for denne vejledning er at diskutere eksistensen af en fil i dit system gennem bash scripting:
Sådan kontrolleres fileksistens ved hjælp af bash scripting:
1) Ved at indtaste filnavnet i terminalen:
For det første skal vi oprette en bash-scriptfil, brug den nedenfor nævnte kommando:
$røre vedtestfile.sh
Navnet på den fil, jeg oprettede, er testfile.sh, .sh -udvidelsen angiver shell -scriptfilen:
Åbn testfile.sh i enhver tekstredigerer. 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/bashsmed ud 'Indtast dit filnavn'
Læsnyfil1
hvis [ -f '$ nyfil1' ]
derefter
smed ud 'Filen er fundet'
andet
smed ud 'Filen blev ikke fundet'
være
Gå tilbage til terminalen, og kør filen for at udskrive output:
./filnavn.shMeddelelse om tilladelse nægtet ville blive vist 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 angive filnavnet, mens du skriver scriptet. Vi har tre måder at kontrollere tilgængeligheden af filen. Den første bruger testkommandoen, den anden bruger if med et udtryk i firkantede parenteser, og den tredje er også med if, men dobbelt firkantede parenteser som angivet nedenfor:
- test EXPRESSION.
- hvis [EXPRESSION]
- hvis [[EXPRESSION]]
Lad os forstå det med eksempler:
1) test [Udtryk]
Kopier det givne script og indsæt det i editoren, gem det:
filnavn= fil1
hvis prøve -f '$ filnavn';
derefter
smed ud '$ filhar fundet.'
andet
smed ud '$ filer ikke fundet '
være
Produktion:
Da der ikke er en sådan fil i mit bibliotek, viser koden meddelelsen Fil ikke fundet.
2) hvis [Udtryk]
Kopier følgende script for at kontrollere, om filen findes eller ej:
#!/bin/bashfilnavn= minfil.txt
hvis [ -f '$ filnavn' ];
derefter
smed ud '$ filnavnhar fundet.'
andet
smed ud 'filnavn er ikke fundet'
være
Produktion:
3) hvis [[Udtryk]]
Kopier det nedenfor skrevne script og indsæt det på terminalen:
#!/bin/bashfilnavn= testfil
hvis [[ -f '$ filnavn' ]];
derefter
smed ud '$ filnavnhar fundet.'
andet
smed ud '$ filnavner ikke fundet '
være
Produktion:
Sådan kontrolleres biblioteket:
3) Ved at indtaste biblioteksnavnet, mens du skriver et script
Brug -d flag for at kontrollere, om der findes et bibliotek.
I nedenstående script er dir11 variablen, hvor du gemmer filen, den du finder; i dette eksempel vil jeg kontrollere biblioteksnavn testDir findes eller ej.
#!/bin/bashdir11= testDir
hvis [ -d '$ dir11' ]
derefter
smed ud 'Directory har fundet'
andet
smed ud 'Telefonbogen er ikke fundet'
være
Produktion:
2) Ved at indtaste filnavnet i terminalen:
Når du kører kommandoen i terminalen for at kontrollere, om biblioteket findes eller ej, skal du indtaste det biblioteksnavn, du søger efter:
smed ud 'skriv dit biblioteksnavn.'
LæsDir
hvis [ -d 'Dir1' ]
derefter
smed ud 'bibliotek er fundet'
andet
smed ud 'biblioteket er ikke fundet'
være
Produktion:
Kontrol af filen uden at bruge if -sætningen:
Testkommandoen kan udføres uden if -sætningen. Det viser kun output, hvis filen findes; ellers ville der ikke være nogen output:
Skriv script:
- prøve -fmyfile.txt&& smed ud 'fil er fundet'
- [ -fmyfile.txt] && smed ud '$ filer blevet fundet.'
- [[ -fmyfile.txt]] && smed ud '$ filer blevet fundet.'
Produktion:
Kontrol af biblioteket uden at bruge if -sætningen:
Brug nedenstående udsagn til at kontrollere, at der findes et bibliotek eller ej:
- [[ -dtestDir]] && smed ud 'bibliotek findes'
- 2) [ -dtestDir] && smed ud 'bibliotek findes'
Produktion:
Kontrol af flere filer/mapper:
1) Kontrol af flere filer med if -sætninger:
Brug -a -flag til at kontrollere eksistensen af forskellige filer i stedet for at bruge indlejrede if/else -sætninger:
hvis [ -fny_fil.txt-til -fnyfil.txt];derefter
smed ud 'Begge filer findes.'
være
En anden måde er:
#!/bin/bashhvis [[ -fny_fil.txt&& -fnyfil.txt]];derefter
smed ud 'Begge filer findes.'
være
Produktion:
2) Kontrol af flere filer uden brug af if -sætningen:
Brug følgende erklæring til at kontrollere flere filer samtidigt 1 uden at bruge hvis:
- [[ -fny_fil.txt&& -fnyfil.txt]] && smed udBegge filer afslutter.
- [[ -fny_fil.txt&& -fnyfil.txt]] && smed udBegge filer afslutter.
Produktion:
Konklusion:
Denne artikel har vist, hvordan du 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 testkommandoen med forskellige flag. Derefter lærte vi brugen af if, nested if-else og uden if-sætningerne for at kontrollere filen eller biblioteket. Vi kiggede også på, hvordan man kontrollerer flere filer eller mapper.