Kuinka tarkistaa, onko tiedosto olemassa bashissa

How Check If File Exists Bash

On olemassa useita tapoja tarkistaa tiedoston saatavuus Linuxissa. Testikomento bash -komentosarjoissa on yksi tärkeimmistä tavoista tarkistaa tiedoston olemassaolo.
Tämän oppaan painopiste on keskustella tiedoston olemassaolosta järjestelmässäsi bash -komentosarjan avulla:

Tiedoston olemassaolon tarkistaminen bash -komentosarjan avulla:

1) Syötä tiedostonimi päätelaitteeseen:



Ensinnäkin meidän on luotava bash-komentotiedosto, käytä alla mainittua komentoa:



$kosketustestfile.sh

Luomani tiedoston nimi on testfile.sh, .sh -laajennus osoittaa komentotiedostotiedoston:



Avaa testfile.sh missä tahansa tekstieditorissa. Kirjoita sitten käsikirjoitus ja tallenna se painamalla tallenna.

Yksi tapa on löytää tiedosto pyytämällä tiedostonimeä käyttäjältä päätelaitteessa.



Käyttää -f tarkistaa tiedoston olemassaolon.

Kirjoita alla oleva käsikirjoitus:

#!/bin/bash
heitti pois 'Anna tiedostonimesi'
lukeauusi tiedosto 1
jos [ -f ''$ newfile1'' ]
sitten
heitti pois 'Tiedosto löytyy'
muu
heitti pois 'Tiedostoa ei löydy'
olla

Palaa terminaaliin ja suorita tulostettava tiedosto:

./tiedostonimi.sh

Päätteen evätty viesti näytetään päätelaitteessa.

Tee siitä suoritettava suorittamalla alla mainittu komento:

$chmod+ x testitiedosto.sh

Kirjoita tiedoston nimi ja se tulostaa tuloksen:

2) Kirjoittamalla tiedostonimen kirjoittaessasi skriptiä:
Toinen tapa löytää tiedosto antamalla tiedostonimi kirjoitettaessa komentosarjaa. Meillä on kolme tapaa tarkistaa tiedoston saatavuus. Ensimmäinen käyttää testikomentoa, toinen käyttää if -lauseketta hakasulkeissa ja kolmas on myös hakasulkeilla, jos ei, mutta alla:

  1. testi EXPRESSION.
  2. jos [EXPRESSION]
  3. jos [[ILMOITUS]]

Ymmärrämme sen esimerkeillä:

1) testi [lauseke]
Kopioi annettu komentosarja ja liitä se editoriin, tallenna se:

#!/bin/bash
Tiedoston nimi= tiedosto1
jos testata -f ''$ tiedostonimi'';
sitten
heitti pois ''$ tiedostoon löytänyt. '
muu
heitti pois ''$ tiedostoei ole löydetty '
olla

Lähtö:

Koska hakemistossani ei ole tällaista tiedostoa, koodi näyttää Tiedostoa ei löydy -viestin.

2) jos [lauseke]

Kopioi seuraava komentosarja tarkistaaksesi, onko tiedosto olemassa vai ei:

#!/bin/bash
Tiedoston nimi= oma tiedosto.txt
jos [ -f ''$ tiedostonimi'' ];
sitten
heitti pois ''$ tiedostonimion löytänyt. '
muu
heitti pois 'tiedostonimeä ei löydy'
olla

Lähtö:

3) jos [[lauseke]]

Kopioi alla oleva komentosarja ja liitä se päätelaitteeseen:

#!/bin/bash
Tiedoston nimi= testitiedosto
jos [[ -f ''$ tiedostonimi'' ]];
sitten
heitti pois ''$ tiedostonimion löytänyt. '
muu
heitti pois ''$ tiedostonimiei ole löydetty '
olla

Lähtö:

Hakemiston tarkistaminen:

3) Kirjoittamalla hakemiston nimen kirjoittaessasi komentosarjaa

Käytä -d lippu tarkistaa hakemiston olemassaolon.

Alla mainitussa komentosarjassa dir11 on muuttuja, johon tallennat etsimäsi tiedoston; tässä esimerkissä haluan tarkistaa hakemiston nimen testDir olemassa vai ei.

#!/bin/bash
dir11= testDir
jos [ -d ''$ dir11'' ]
sitten
heitti pois 'Hakemisto on löytänyt'
muu
heitti pois 'Hakemistoa ei löydy'
olla

Lähtö:

2) Antamalla tiedostonimi päätelaitteeseen:
Kun suoritat komennon päätelaitteessa tarkistaaksesi, onko hakemisto olemassa vai ei, sinun on annettava etsimäsi hakemiston nimi:

#!/bin/bash
heitti pois 'kirjoita hakemistosi nimi.'
lukeaOhjaus 1
jos [ -d 'Dir1' ]
sitten
heitti pois 'hakemisto on löydetty'
muu
heitti pois 'hakemistoa ei löytynyt'
olla

Lähtö:

Tiedoston tarkistaminen käyttämättä if -lauseketta:

Testikomento voidaan suorittaa ilman if -käskyä. Se näyttää tuloksen vain, jos tiedosto on olemassa; muuten ei olisi tulosta:

Kirjoita käsikirjoitus:

  1. testata -fmyfile.txt&& heitti pois 'tiedosto on löydetty'

  2. [ -fmyfile.txt] && heitti pois ''$ tiedostoon löydetty.'

  3. [[ -fmyfile.txt]] && heitti pois ''$ tiedostoon löydetty.'

Lähtö:

Hakemiston tarkistaminen ilman if -lauseketta:

Tarkista alla olevien lausekkeiden avulla, onko hakemisto olemassa vai ei:

  1. [[ -dtestDir]] && heitti pois 'hakemisto on olemassa'

  2. 2) [ -dtestDir] && heitti pois 'hakemisto on olemassa'

Lähtö:

Useiden tiedostojen/hakemistojen tarkistaminen:

1) Useiden tiedostojen tarkistaminen, jos lausumat:
Käytä -a -lippua eri tiedostojen olemassaolon tarkistamiseen sisäkkäisten if/else -lauseiden sijaan:

#!/bin/bash
jos [ -fnew_file.txt-kohteeseen -fnewfile.txt];sitten
heitti pois 'Molemmat tiedostot ovat olemassa.'
olla

Toinen tapa on:

#!/bin/bash
jos [[ -fnew_file.txt&& -fnewfile.txt]];sitten
heitti pois 'Molemmat tiedostot ovat olemassa.'
olla

Lähtö:

2) Useiden tiedostojen tarkistaminen käyttämättä if -lauseketta:
Käytä seuraavaa lauseketta tarkistaaksesi useita tiedostoja samanaikaisesti 1 ilman, jos:

  1. [[ -fnew_file.txt&& -fnewfile.txt]] && heitti poisMolemmat tiedostot poistuvat.

  2. [[ -fnew_file.txt&& -fnewfile.txt]] && heitti poisMolemmat tiedostot poistuvat.

Lähtö:

Johtopäätös:

Tämä artikkeli on osoittanut, miten bash -komentosarjoja käytetään tiedoston tai hakemiston tarkistamiseen. Käytimme eri vaihtoehtoja tarkistamaan tiedoston saatavuuden. Ensinnäkin käytämme testikomentoa eri lippujen kanssa. Sitten opimme käytön if, nested if-else ja ilman if-lauseita tiedoston tai hakemiston tarkistamiseen. Kävimme läpi myös kuinka tarkistaa useita tiedostoja tai hakemistoja.