BASH-programmering

Hur man kontrollerar om en fil finns i bash

Hur man kontrollerar om en fil finns i bash
Det finns flera sätt att kontrollera tillgängligheten av en fil i Linux. ”Test” -kommandot i bash-skript är en av de viktigaste metoderna för att kontrollera en fils existens.
Fokus i den här guiden är att diskutera förekomsten av en fil i ditt system genom bash-skript:

Så här kontrollerar du filens existens med bash-skript:

1) Genom att ange filnamnet i terminalen:

För det första måste vi skapa en bash-skriptfil, använd kommandot nedan:

$ touch testfil.sh

Namnet på filen jag skapade är “testfile.sh ", den".sh ”-tillägget anger skalskriptfilen:

Öppna “testfilen.sh ”i valfri textredigerare. Skriv sedan manuset, spara det genom att trycka på "spara".

Ett sätt är att hitta en fil genom att be om ett filnamn från användaren i terminalen.

Använda sig av "-f”För att kontrollera filens existens.

Skriv nedanstående skript:

#!/ bin / bash
eko "Ange ditt filnamn"
läs nyfil1
om [-f "$ newfile1"]
sedan
echo "File is found"
annan
echo "Filen hittades inte"
fi

Gå tillbaka till terminalen och kör filen för att skriva ut:

./filnamn.sh

Tillstånd nekad meddelande visas i terminalen.

Gör det körbart genom att utföra kommandot nedan:

$ chmod + x testfil.sh

Ange filnamnet och utskriften skrivs ut:

2) Genom att ange filnamnet medan du skriver manuset:
Ett annat sätt att hitta en fil genom att ge filnamnet medan man skriver manuset. Vi har tre sätt att kontrollera tillgängligheten av filen. Den första använder kommandot “test”, det andra använder “om” med ett uttryck inom hakparentes, och det tredje är också med “om” men dubbla hakparenteser som anges nedan:

  1. “Testa UTTRYCK.”
  2. “Om [EXPRESSION]”
  3. “Om [[EXPRESSION]]”

Låt oss förstå det med exempel:

1) test [uttryck]
Kopiera det angivna skriptet och klistra in det i redigeraren, spara det:

#!/ bin / bash
filnamn = fil1
om test -f "$ filnamn";
sedan
echo "$ -fil har hittats."
annan
eko "$ -fil har inte hittats"
fi

Produktion:

Eftersom det inte finns någon sådan fil i min katalog, visar koden meddelandet "Filen hittades inte".

2) om [uttryck]

Kopiera följande skript för att kontrollera om filen finns eller inte:

#!/ bin / bash
filnamn = minfil.Text
om [-f "$ filnamn"];
sedan
ekot "$ filnamn har hittats."
annan
echo "filnamn har inte hittats"
fi

Produktion:

3) om [[Uttryck]]

Kopiera det nedan skrivna skriptet och klistra in det på terminalen:

#!/ bin / bash
filnamn = testfil
om [[-f "$ filnamn"]];
sedan
ekot "$ filnamn har hittats."
annan
eko "$ filnamn har inte hittats"
fi

Produktion:

Så här kontrollerar du katalogen:

3) Genom att ange katalognamnet medan du skriver ett skript

Använd "-d”Flagga för att kontrollera förekomsten av en katalog.

I det nedan nämnda skriptet är “dir11” variabeln där du lagrar filen som du hittar; i det här exemplet vill jag kontrollera katalognamnet “testDir” finns eller inte.

#!/ bin / bash
dir11 = testDir
om [-d "$ dir11"]
sedan
eko "Katalog har hittat"
annan
eko "Katalog har inte hittats"
fi

Produktion:

2) Genom att ange filnamnet i terminalen:
När du kör kommandot i terminalen för att kontrollera om katalogen finns eller inte, måste du ange det katalognamn du söker efter:

#!/ bin / bash
echo "skriv ditt katalognamn."
läs Dir1
om [-d "Dir1"]
sedan
echo "katalog har hittats"
annan
echo "katalogen har inte hittat"
fi

Produktion:

Kontrollera filen utan att använda ”if” -uttalandet:

Kommandot “test” kan utföras utan “if” -uttrycket. Den visar endast utdata om filen finns; annars skulle det inte finnas någon utdata:

Skriv manus:

  1. test -f myfile.txt && echo "fil har hittats"

  2. [-f myfil.txt] && echo "$ -fil har hittats."

  3. [[-f myfile.txt]] && echo "$ -fil har hittats."

Produktion:

Kontrollera katalogen utan att använda ”if” -satsen:

Använd nedanstående uttalanden för att kontrollera att en katalog finns eller inte:

  1. [[-d testDir]] && echo "katalogen finns"

  2. 2) [-d testDir] && echo "katalogen finns"

Produktion:

Kontrollera flera filer / kataloger:

1) Kontrollera flera filer med "if" -uttalanden:
Använd "-a" -flaggan för att kontrollera förekomsten av olika filer istället för att använda kapslade "if / else" -uttalanden:

#!/ bin / bash
om [-f ny_fil.txt -a -f nyfil.Text ]; sedan
echo "Båda filerna finns."
fi

Ett annat sätt är:

#!/ bin / bash
om [[-f ny_fil.txt && -f ny fil.Text ]]; sedan
echo "Båda filerna finns."
fi

Produktion:

2) Kontrollera flera filer utan att använda ”if” -uttrycket:
Använd följande påstående för att kontrollera flera filer samtidigt 1 utan att använda “if”:

  1. [[-f ny_fil.txt && -f ny fil.txt]] && echo “Båda filerna avslutas.”

  2. [[-f ny_fil.txt && -f nyfil.txt]] && echo “Båda filerna avslutas.”

Produktion:

Slutsats:

Den här artikeln har visat hur man använder bash-skript för att kontrollera en fil eller en katalog. Vi använde olika alternativ för att kontrollera tillgängligheten av en fil. För det första använder vi kommandot “test” med olika flaggor. Sedan lärde vi oss användningen av "if", kapslade "if-else", och utan "if" -uttalanden för att kontrollera filen eller katalogen. Vi tittade också över hur man kontrollerar flera filer eller kataloger.

Mus Mus vänsterklicka på knappen fungerar inte på Windows 10
Mus vänsterklicka på knappen fungerar inte på Windows 10
Om du använder en dedikerad mus med din bärbara dator eller stationära dator men musens vänsterklick-knapp fungerar inte på Windows 10/8/7 av någon an...
Mus Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Om du upptäcker att muspekaren hoppar eller rör sig på egen hand, automatiskt, slumpmässigt när du skriver in Windows-bärbar dator eller dator, kan nå...
Mus Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Mus och Pekplattas gör inte bara datoranvändning lättare men effektivare och mindre tidskrävande. Vi kan inte föreställa oss ett liv utan dessa enhete...