BASH-programmering

Hoe te controleren of een bestand bestaat in bash

Hoe te controleren of een bestand bestaat in bash
Er zijn verschillende manieren om de beschikbaarheid van een bestand in Linux te controleren. Het "test"-commando in bash-scripting is een van de belangrijkste benaderingen om het bestaan ​​van een bestand te controleren.
De focus van deze handleiding is om het bestaan ​​van een bestand in uw systeem te bespreken door middel van bash-scripting:

Hoe het bestaan ​​van bestanden te controleren met bash-scripting:

1) Door de bestandsnaam in de terminal in te voeren:

Ten eerste moeten we een bash-scriptbestand maken, gebruik de onderstaande opdracht:

$ raak testbestand aan.sh

De naam van het bestand dat ik heb gemaakt is "testfile".sj", de ".sh” extensie geeft het shellscriptbestand aan:

Open het “testbestand.sh" in een teksteditor. Schrijf vervolgens het script, sla het op door op "opslaan" te drukken.

Een manier is om een ​​bestand te vinden door een bestandsnaam te vragen aan de gebruiker in de terminal.

Gebruik "-f” om het bestaan ​​van het bestand te controleren.

Schrijf het onderstaande script:

#!/bin/bash
echo "Vul uw bestandsnaam in"
lees nieuw bestand1
if [ -f "$newfile1" ]
dan
echo "Bestand is gevonden"
anders
echo "Bestand is niet gevonden"
fi

Ga terug naar de terminal en voer het bestand uit om de uitvoer af te drukken:

./bestandsnaam.sh

Toestemming geweigerd bericht zou worden weergegeven in de terminal.

Maak het uitvoerbaar door het onderstaande commando uit te voeren:

$chmod +x testbestand.sh

Voer de bestandsnaam in en het zal de uitvoer afdrukken:

2) Door de bestandsnaam in te voeren tijdens het schrijven van het script:
Een andere manier om een ​​bestand te vinden door de bestandsnaam op te geven tijdens het schrijven van het script. We hebben drie manieren om de beschikbaarheid van het bestand te controleren. De eerste gebruikt de opdracht "test", de tweede gebruikt "if" met een uitdrukking tussen vierkante haken, en de derde is ook met "if" maar dubbele vierkante haken zoals hieronder aangegeven:

  1. “test UITDRUKKING.”
  2. “als [ EXPRESSIE ]”
  3. “als [[ EXPRESSIE ]]”

Laten we het begrijpen met voorbeelden:

1) testen [ Uitdrukking ]
Kopieer het gegeven script en plak het in de editor, sla het op:

#!/bin/bash
bestandsnaam=bestand1
if test -f "$bestandsnaam";
dan
echo "$bestand is gevonden."
anders
echo "$bestand is niet gevonden"
fi

Uitgang:

Aangezien er geen dergelijk bestand in mijn directory is, geeft de code het bericht "Bestand is niet gevonden" weer.

2) als [ Uitdrukking ]

Kopieer het volgende script om te controleren of het bestand bestaat of niet:

#!/bin/bash
bestandsnaam=mijnbestand.tekst
if [ -f "$bestandsnaam"];
dan
echo "$bestandsnaam is gevonden."
anders
echo "bestandsnaam is niet gevonden"
fi

Uitgang:

3) als [[ Uitdrukking ]]

Kopieer het onderstaande script en plak het op de terminal:

#!/bin/bash
bestandsnaam=testbestand
if [[ -f "$bestandsnaam" ]];
dan
echo "$bestandsnaam is gevonden."
anders
echo "$bestandsnaam is niet gevonden"
fi

Uitgang:

Om de map te controleren:

3) Door de mapnaam in te voeren tijdens het schrijven van een script

Gebruik de "-d”vlag om het bestaan ​​van een map te controleren.

In het onderstaande script is "dir11" de variabele waarin u het bestand opslaat dat u vindt; in dit voorbeeld wil ik controleren of de mapnaam "testDir" bestaat of niet.

#!/bin/bash
dir11=testmap
if [ -d "$dir11" ]
dan
echo "Directory is gevonden"
anders
echo "Directory is niet gevonden"
fi

Uitgang:

2) Door de bestandsnaam in de terminal in te voeren:
Wanneer u de opdracht in de terminal uitvoert om te controleren of de directory bestaat of niet, moet u de directorynaam invoeren waarnaar u zoekt:

#!/bin/bash
echo "typ je mapnaam."
lees Dir1
if [ -d "Dir1" ]
dan
echo "map is gevonden"
anders
echo "map is niet gevonden"
fi

Uitgang:

Het bestand controleren zonder het "if" -statement te gebruiken:

Het “test” commando kan worden uitgevoerd zonder het “if” statement. Het zal alleen uitvoer weergeven als het bestand bestaat; anders zou er geen uitvoer zijn:

Schrijf script:

  1. test -f mijnbestand.txt && echo "bestand is gevonden"

  2. [ -f mijnbestand.txt ] && echo "$bestand is gevonden."

  3. [[ -f mijnbestand.txt ]] && echo "$bestand is gevonden."

Uitgang:

De directory controleren zonder het "if" -statement te gebruiken:

Gebruik de onderstaande instructies om te controleren of een map bestaat of niet:

  1. [[ -d testDir ]] && echo "directory bestaat wel"

  2. 2) [ -d testDir ] && echo "directory bestaat wel"

Uitgang:

Meerdere bestanden/mappen controleren:

1) Meerdere bestanden controleren met "if" -instructies:
Gebruik de vlag "-a" om het bestaan ​​van verschillende bestanden te controleren in plaats van geneste "if/else" -instructies te gebruiken:

#!/bin/bash
if [ -f nieuw_bestand.txt -a -f nieuw bestand.tekst ]; dan
echo "Beide bestanden bestaan."
fi

Een andere manier is:

#!/bin/bash
if [[ -f nieuw_bestand.txt && -f nieuw bestand.tekst ]]; dan
echo "Beide bestanden bestaan."
fi

Uitgang:

2) Meerdere bestanden controleren zonder het "if" -statement te gebruiken:
Gebruik de volgende instructie om meerdere bestanden tegelijk te controleren 1zonder "if" te gebruiken:

  1. [[ -f nieuw_bestand.txt && -f nieuw bestand.txt ]] && echo “Beide bestanden worden afgesloten.”

  2. [[ -f nieuw_bestand.txt && -f nieuw bestand.txt ]] && echo “Beide bestanden worden afgesloten.”

Uitgang:

Conclusie:

Dit artikel heeft laten zien hoe je bash-scripting kunt gebruiken om een ​​bestand of een map te controleren. We hebben verschillende opties gebruikt om de beschikbaarheid van een bestand te controleren. Ten eerste gebruiken we de opdracht "test" met verschillende vlaggen. Daarna leerden we het gebruik van "if", genest "if-els" en zonder de "if" -instructies om het bestand of de map te controleren. We hebben ook gekeken hoe je meerdere bestanden of mappen kunt controleren.

Hoe FPS te verhogen in Linux?
FPS staat voor Beelden per seconde. De taak van FPS is om de framesnelheid te meten bij het afspelen van video's of speluitvoeringen. In eenvoudige wo...
Top Oculus App Lab-games
Als je eigenaar bent van een Oculus-headset, moet je op de hoogte zijn van sideloading. Sideloading is het proces van het installeren van niet-winkeli...
Top 10 spellen om te spelen op Ubuntu
Het Windows-platform is een van de dominante platforms voor gaming geweest vanwege het enorme percentage games dat tegenwoordig wordt ontwikkeld om Wi...