BASH programiranje

Kako preveriti, ali datoteka obstaja v bashu

Kako preveriti, ali datoteka obstaja v bashu
Razpoložljivost datoteke v Linuxu lahko preverite na več načinov. Ukaz "test" pri skriptiranju bash je eden ključnih pristopov k preverjanju obstoja datoteke.
Poudarek tega vodiča je razpravljati o obstoju datoteke v vašem sistemu s pomočjo bash skript:

Kako preveriti obstoj datotek z uporabo bash skript:

1) Z vnosom imena datoteke v terminal:

Najprej moramo ustvariti datoteko skripta bash, uporabimo spodnji ukaz:

$ touch testfile.sh

Ime datoteke, ki sem jo ustvaril, je »testfile.sh ",".Razširitev sh ”označuje datoteko skripta lupine:

Odprite "testno datoteko.sh ”v katerem koli urejevalniku besedil. Nato napišite skript in ga shranite s pritiskom na "shrani".

Eden od načinov je poiskati datoteko tako, da od uporabnika v terminalu zahteva ime datoteke.

Uporaba "-f«, Da preverite obstoj datoteke.

Napišite spodnji skript:

#!/ bin / bash
echo "Vnesite ime datoteke"
preberite newfile1
če [-f "$ newfile1"]
potem
echo "Datoteka je najdena"
drugače
echo "Datoteke ni mogoče najti"
fi

Vrnite se v terminal in zaženite datoteko za tiskanje izhodnih podatkov:

./Ime datoteke.sh

V terminalu se prikaže sporočilo o zavrnitvi dovoljenja.

Naj bo izvršljiv z izvajanjem spodnjega ukaza:

$ chmod + x testna datoteka.sh

Vnesite ime datoteke in natisnila bo izhod:

2) Z vnosom imena datoteke med pisanjem skripta:
Drug način za iskanje datoteke z navedbo imena datoteke med pisanjem skripta. Razpoložljivost datoteke lahko preverimo na tri načine. Prvi uporablja ukaz "test", drugi uporablja "if" z izrazom v oglatih oklepajih, tretji pa tudi "if", vendar dvojni oglati oklepaji, kot je navedeno spodaj:

  1. “Preizkus IZRAZ."
  2. "Če [IZRAŽANJE]"
  3. "Če [[IZRAŽANJE]]"

Razumimo s primeri:

1) test [Izraz]
Kopirajte dani skript in ga prilepite v urejevalnik, shranite ga:

#!/ bin / bash
ime datoteke = datoteka1
če test -f "$ ime datoteke";
potem
echo "$ datoteka je najdena."
drugače
echo "$ datoteka ni bila najdena"
fi

Izhod:

Ker v mojem imeniku ni take datoteke, zato koda prikaže sporočilo »Datoteke ni mogoče najti«.

2) če [Izraz]

Kopirajte naslednji skript, da preverite, ali datoteka obstaja ali ne:

#!/ bin / bash
ime datoteke = myfile.txt
če [-f "$ ime_datoteke"];
potem
echo "$ filename je našel."
drugače
echo "imena datoteke ni bilo mogoče najti"
fi

Izhod:

3) če [[izraz]]

Kopirajte spodaj napisani skript in ga prilepite na terminal:

#!/ bin / bash
ime datoteke = testna datoteka
če [[-f "$ ime datoteke"]];
potem
echo "$ filename je našel."
drugače
echo "$ filename ni bilo mogoče najti"
fi

Izhod:

Če želite preveriti imenik:

3) Z vnosom imena imenika med pisanjem skripta

Uporabi "-dZastava za preverjanje obstoja imenika.

V spodaj omenjenem skriptu je »dir11« spremenljivka, v kateri shranite datoteko tisto, ki jo najdete; v tem primeru želim preveriti, ali ime imenika “testDir” obstaja ali ne.

#!/ bin / bash
dir11 = testDir
če [-d "$ dir11"]
potem
echo "Imenik je našel"
drugače
echo "Imenika ni bilo mogoče najti"
fi

Izhod:

2) Z vnosom imena datoteke v terminal:
Ko v terminalu zaženete ukaz, da preverite, ali imenik obstaja ali ne, morate vnesti ime imenika, ki ga iščete:

#!/ bin / bash
echo "vnesite ime svojega imenika."
preberite Dir1
če je [-d "Dir1"]
potem
echo "imenik je bil najden"
drugače
echo "imenika ni mogoče najti"
fi

Izhod:

Preverjanje datoteke brez uporabe stavka "if":

Ukaz "test" je mogoče izvesti brez stavka "if". Izpis bo prikazan samo, če datoteka obstaja; sicer ne bi bilo nobenega rezultata:

Napišite scenarij:

  1. test -f myfile.txt && echo "datoteka je bila najdena"

  2. [-f moja datoteka.txt] && echo "$ datoteka je bila najdena."

  3. [[-f moja datoteka.txt]] && echo "$ datoteka je bila najdena."

Izhod:

Preverjanje imenika brez uporabe stavka "if":

Uporabite spodnje izjave, da preverite, ali imenik obstaja ali ne:

  1. [[-d testDir]] && echo "imenik obstaja"

  2. 2) [-d testDir] && echo "imenik obstaja"

Izhod:

Preverjanje več datotek / imenikov:

1) Preverjanje več datotek z izjavami "če":
Uporabite zastavico "-a", da preverite obstoj različnih datotek, namesto da uporabite ugnezdene stavke "if / else":

#!/ bin / bash
če je [-f nova_datoteka.txt -a -f nova datoteka.txt]; potem
"obe datoteki obstajata."
fi

Drug način je:

#!/ bin / bash
če je [[-f nova_datoteka.txt && -f nova datoteka.txt]]; potem
"obe datoteki obstajata."
fi

Izhod:

2) Preverjanje več datotek brez uporabe stavka "če":
Uporabite naslednjo izjavo za istočasno preverjanje več datotek 1 brez uporabe »če«:

  1. [[-f nova_datoteka.txt && -f nova datoteka.txt]] && echo “Obe datoteki zapreta."

  2. [[-f nova_datoteka.txt && -f nova datoteka.txt]] && echo “Obe datoteki zapreta."

Izhod:

Zaključek:

Ta članek je pokazal, kako uporabljati bash skript za preverjanje datoteke ali imenika. Za preverjanje razpoložljivosti datoteke smo uporabili različne možnosti. Najprej uporabimo ukaz "test" z različnimi zastavicami. Nato smo se naučili uporabe "če", ugnezdenega "če-drugače" in brez stavkov "če" za preverjanje datoteke ali imenika. Preučili smo tudi, kako preveriti več datotek ali imenikov.

Najboljših 5 izdelkov z ergonomsko računalniško miško za Linux
Ali dolgotrajna uporaba računalnika povzroča bolečine v zapestju ali prstih? Ali imate trde sklepe in bi se morali neprestano tresti z rokami? Ali čut...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
S pomočjo gumba X-Mouse Button Control različno prilagodite gumbe miške za različno programsko opremo
Mogoče potrebujete orodje, ki bi lahko spremenilo nadzor miške z vsako aplikacijo, ki jo uporabljate. V tem primeru lahko preizkusite aplikacijo z ime...