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/bashheitti 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.shPää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:
- testi EXPRESSION.
- jos [EXPRESSION]
- jos [[ILMOITUS]]
Ymmärrämme sen esimerkeillä:
1) testi [lauseke]
Kopioi annettu komentosarja ja liitä se editoriin, tallenna se:
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/bashTiedoston 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/bashTiedoston 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/bashdir11= 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:
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:
- testata -fmyfile.txt&& heitti pois 'tiedosto on löydetty'
- [ -fmyfile.txt] && heitti pois ''$ tiedostoon löydetty.'
- [[ -fmyfile.txt]] && heitti pois ''$ tiedostoon löydetty.'
Lähtö:
Hakemiston tarkistaminen ilman if -lauseketta:
Tarkista alla olevien lausekkeiden avulla, onko hakemisto olemassa vai ei:
- [[ -dtestDir]] && heitti pois 'hakemisto on olemassa'
- 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:
jos [ -fnew_file.txt-kohteeseen -fnewfile.txt];sitten
heitti pois 'Molemmat tiedostot ovat olemassa.'
olla
Toinen tapa on:
#!/bin/bashjos [[ -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:
- [[ -fnew_file.txt&& -fnewfile.txt]] && heitti poisMolemmat tiedostot poistuvat.
- [[ -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.