Com comprovar si existeix un fitxer a bash

How Check If File Exists Bash



Hi ha diverses maneres de comprovar la disponibilitat d’un fitxer a Linux. L’ordre test en scripts bash és un dels enfocaments clau per comprovar l’existència d’un fitxer.
L'objectiu d'aquesta guia és discutir l'existència d'un fitxer al vostre sistema mitjançant scripts bash:

Com comprovar l'existència de fitxers mitjançant scripts bash:

1) En introduir el nom del fitxer al terminal:







En primer lloc, hem de crear un fitxer script bash, utilitzeu l'ordre esmentada a continuació:



$tocartestfile.sh

El nom del fitxer que he creat és testfile.sh, l'extensió .sh indica el fitxer de script de l'intèrpret d'ordres:







Obriu testfile.sh en qualsevol editor de text. A continuació, escriviu el guió i deseu-lo prement Desa.

Una manera és trobar un fitxer demanant un nom de fitxer a l'usuari al terminal.



Ús -f per comprovar l’existència del fitxer.

Escriviu el següent script:

#! / bin / bash
trobo 'Introduïu el vostre nom de fitxer'
llegirfitxer nou1
si [ -f '$ fitxer nou1' ]
llavors
trobo 'S'ha trobat l'arxiu'
en cas contrari
trobo 'El fitxer no s'ha trobat'
ser

Torneu al terminal i executeu el fitxer per imprimir la sortida:

./filename.sh

El missatge denegat de permís es mostrarà al terminal.

Feu-lo executable executant l'ordre esmentada a continuació:

$chmod+ X testfile.sh

Introduïu el nom del fitxer i imprimirà la sortida:

2) Introduint el nom del fitxer mentre escriviu el script:
Una altra manera de trobar un fitxer donant el nom del fitxer mentre escriviu el script. Tenim tres maneres de comprovar la disponibilitat del fitxer. El primer utilitza l'ordre test, el segon utilitza if amb una expressió entre claudàtors i el tercer també inclou si, però dobles claudàtors, tal com s'indica a continuació:

  1. prova EXPRESSIÓ.
  2. si [EXPRESSIÓ]
  3. si [[EXPRESSION]]

Ho entenem amb exemples:

1) prova [Expressió]
Copieu l'script donat i enganxeu-lo a l'editor, deseu-lo:

#! / bin / bash
nom de l'arxiu= fitxer1
si prova -f '$ nom de fitxer';
llavors
trobo '$ fitxerha trobat. '
en cas contrari
trobo '$ fitxerno s'ha trobat '
ser

Sortida:

Com que no hi ha cap fitxer al meu directori, per tant, el codi mostra el missatge Fitxer no es troba.

2) si [Expressió]

Copieu el següent script per comprovar si el fitxer existeix o no:

#! / bin / bash
nom de l'arxiu= myfile.txt
si [ -f '$ nom de fitxer' ];
llavors
trobo '$ nom de fitxerha trobat. '
en cas contrari
trobo 'no s'ha trobat el nom del fitxer'
ser

Sortida:

3) si [[Expressió]]

Copieu l'script escrit a continuació i enganxeu-lo al terminal:

#! / bin / bash
nom de l'arxiu= fitxer de prova
si [[ -f '$ nom de fitxer' ]];
llavors
trobo '$ nom de fitxerha trobat. '
en cas contrari
trobo '$ nom de fitxerno s'ha trobat '
ser

Sortida:

Per comprovar el directori:

3) Introduint el nom del directori mentre escriviu un script

Utilitzar el -d flag per comprovar l'existència d'un directori.

A l'script esmentat a continuació, dir11 és la variable en què emmagatzemeu el fitxer la que esteu trobant; en aquest exemple, vull comprovar el nom del directori testDir existeix o no.

#! / bin / bash
dir11= testDir
si [ -d '$ dir11' ]
llavors
trobo 'El directori s'ha trobat'
en cas contrari
trobo 'El directori no s'ha trobat'
ser

Sortida:

2) En introduir el nom del fitxer al terminal:
Quan executeu l'ordre al terminal per comprovar si el directori existeix o no, haureu d'introduir el nom del directori que esteu cercant:

#! / bin / bash
trobo 'escriviu el nom del directori.'
llegirDir1
si [ -d 'Dir1' ]
llavors
trobo 'directori s'ha trobat'
en cas contrari
trobo 'directori no s'ha trobat'
ser

Sortida:

Comprovació del fitxer sense utilitzar la sentència if:

L'ordre test es pot executar sense la sentència if. Només mostrarà la sortida si el fitxer existeix; altrament, no hi hauria sortida:

Escriure un guió:

  1. prova -fmyfile.txt&& trobo 's'ha trobat el fitxer'

  2. [ -fmyfile.txt] && trobo '$ fitxers'ha trobat. '

  3. [[ -fmyfile.txt]] && trobo '$ fitxers'ha trobat. '

Sortida:

Comprovació del directori sense utilitzar la sentència if:

Utilitzeu les declaracions esmentades a continuació per comprovar que existeix o no un directori:

  1. [[ -dtestDir]] && trobo 'directori existeix'

  2. 2) [ -dtestDir] && trobo 'directori existeix'

Sortida:

Comprovació de diversos fitxers / directoris:

1) Comprovació de diversos fitxers amb sentències if:
Utilitzeu el senyalador -a per comprovar l'existència de diversos fitxers en lloc d'utilitzar instruccions imbricades if / else:

#! / bin / bash
si [ -ffitxer_nou.txt-a -ffitxer nou.txt];llavors
trobo 'Els dos fitxers existeixen.'
ser

Una altra forma és:

#! / bin / bash
si [[ -ffitxer_nou.txt&& -ffitxer nou.txt]];llavors
trobo 'Els dos fitxers existeixen.'
ser

Sortida:

2) Comprovació de diversos fitxers sense utilitzar la sentència if:
Utilitzeu la declaració següent per comprovar diversos fitxers simultàniament 1 sense utilitzar if:

  1. [[ -ffitxer_nou.txt&& -ffitxer nou.txt]] && troboAmbdós fitxers surten.

  2. [[ -ffitxer_nou.txt&& -ffitxer nou.txt]] && troboAmbdós fitxers surten.

Sortida:

Conclusió:

Aquest article ha mostrat com utilitzar scripts bash per comprovar un fitxer o un directori. Hem utilitzat diferents opcions per comprovar la disponibilitat d’un fitxer. En primer lloc, fem servir l'ordre test amb diferents senyaladors. Després vam aprendre l’ús de if, imbricat if-else i sense les sentències if per comprovar el fitxer o el directori. També vam examinar la manera de comprovar diversos fitxers o directoris.