Programmazione BASH

Come verificare se un file esiste in bash

Come verificare se un file esiste in bash
Esistono diversi modi per verificare la disponibilità di un file in Linux. Il comando "test" negli script bash è uno degli approcci chiave per verificare l'esistenza di un file.
L'obiettivo di questa guida è discutere l'esistenza di un file nel tuo sistema attraverso lo scripting bash:

Come verificare l'esistenza del file utilizzando lo script bash:

1) Inserendo il nome del file nel terminale:

Innanzitutto, dobbiamo creare un file di script bash, utilizzare il comando indicato di seguito:

$ touch file di prova.sh

Il nome del file che ho creato è "testfile.sh", il ".sh" indica il file di script della shell:

Apri il "file di prova.sh" in qualsiasi editor di testo. Quindi scrivi lo script, salvalo premendo “salva”.

Un modo è trovare un file chiedendo un nome file all'utente nel terminale.

Uso "-f” per verificare l'esistenza del file.

Scrivi lo script qui sotto:

#!/bin/bash
echo "Inserisci il nome del tuo file"
leggi nuovofile1
if [ -f "$nuovofile1" ]
poi
echo "File trovato"
altro
echo "File non trovato"
fi

Torna al terminale ed esegui il file per stampare l'output:

./nome del file.sh

Il messaggio di autorizzazione negata verrebbe visualizzato nel terminale.

Rendilo eseguibile eseguendo il comando indicato di seguito:

$chmod +x file di prova.sh

Inserisci il nome del file e stamperà l'output:

2) Inserendo il nome del file durante la scrittura dello script:
Un altro modo per trovare un file dando il nome del file durante la scrittura dello script. Abbiamo tre modi per verificare la disponibilità del file. Il primo sta usando il comando "test", il secondo sta usando "if" con un'espressione tra parentesi quadre, e il terzo è anche con "if" ma doppie parentesi quadre come indicato di seguito:

  1. “prova ESPRESSIONE."
  2. “se [ESPRESSIONE]”
  3. “se [[ ESPRESSIONE ]]”

Capiamolo con degli esempi:

1) prova [ Espressione ]
Copia lo script dato e incollalo nell'editor, salvalo:

#!/bin/bash
nomefile=file1
if test -f "$nomefile";
poi
echo "$file ha trovato."
altro
echo "$file non è stato trovato"
fi

Produzione:

Poiché non esiste un file di questo tipo nella mia directory, il codice visualizza il messaggio "File non trovato".

2) se [ Espressione ]

Copia il seguente script per verificare se il file esiste o meno:

#!/bin/bash
nomefile=miofile.TXT
if [ -f "$nomefile" ];
poi
echo "$nomefile ha trovato."
altro
echo "il nome del file non è stato trovato"
fi

Produzione:

3) se [[ Espressione ]]

Copia lo script scritto di seguito e incollalo sul terminale:

#!/bin/bash
nome file=file di prova
if [[ -f "$nomefile" ]];
poi
echo "$nomefile ha trovato."
altro
echo "$nomefile non è stato trovato"
fi

Produzione:

Per controllare la directory:

3) Inserendo il nome della directory durante la scrittura di uno script

Usa il "-d” flag per verificare l'esistenza di una directory.

Nello script sottostante, “dir11” è la variabile in cui memorizzi il file che stai trovando; in questo esempio, voglio controllare che il nome della directory "testDir" esista o meno.

#!/bin/bash
dir11=testDir
if [ -d "$dir11" ]
poi
echo "La directory ha trovato"
altro
echo "La directory non è stata trovata"
fi

Produzione:

2) Inserendo il nome del file nel terminale:
Quando esegui il comando nel terminale per verificare se la directory esiste o meno, ti viene richiesto di inserire il nome della directory che stai cercando:

#!/bin/bash
echo "digita il nome della tua directory."
leggi Dir1
if [ -d "Dir1" ]
poi
echo "la directory è stata trovata"
altro
echo "directory non trovata"
fi

Produzione:

Controllo del file senza utilizzare l'istruzione "if":

Il comando "test" può essere eseguito senza l'istruzione "if". Visualizzerà l'output solo se il file esiste; altrimenti, non ci sarebbe alcun output:

Scrivi la sceneggiatura:

  1. test -f miofile.txt && echo "il file è stato trovato"

  2. [ -f miofile.txt ] && echo "$file è stato trovato."

  3. [[ -f miofile.txt ]] && echo "$file è stato trovato."

Produzione:

Controllo della directory senza utilizzare l'istruzione "if":

Utilizzare le istruzioni sotto menzionate per verificare che una directory esista o meno:

  1. [[ -d testDir ]] && echo "la directory esiste"

  2. 2) [ -d testDir ] && echo "la directory esiste"

Produzione:

Controllo di più file/directory:

1) Controllo di più file con istruzioni "if":
Utilizzare il flag "-a" per verificare l'esistenza di vari file invece di utilizzare istruzioni "if/else" annidate:

#!/bin/bash
if [ -f nuovo_file.txt -a -f nuovo file.TXT ]; poi
echo "Esistono entrambi i file."
fi

Un altro modo è:

#!/bin/bash
if [[ -f nuovo_file.txt && -f nuovo file.TXT ]]; poi
echo "Esistono entrambi i file."
fi

Produzione:

2) Controllo di più file senza utilizzare l'istruzione "if":
Utilizzare la seguente istruzione per controllare più file contemporaneamente 1 senza utilizzare "if":

  1. [[ -f nuovo_file.txt && -f nuovo file.txt ]] && echo “Entrambi i file escono."

  2. [[ -f nuovo_file.txt && -f nuovo file.txt ]] && echo “Entrambi i file escono."

Produzione:

Conclusione:

Questo articolo ha mostrato come usare gli script bash per controllare un file o una directory. Abbiamo utilizzato diverse opzioni per verificare la disponibilità di un file. In primo luogo, usiamo il comando "test" con diversi flag. Quindi abbiamo imparato l'uso di "if", "if-else" annidato e senza le istruzioni "if" per controllare il file o la directory. Abbiamo anche esaminato come controllare più file o directory.

WinMouse ti consente di personalizzare e migliorare il movimento del puntatore del mouse su PC Windows
Se vuoi migliorare le funzioni predefinite del puntatore del mouse, usa freeware WinMouse. Aggiunge più funzionalità per aiutarti a ottenere il massim...
Il tasto sinistro del mouse non funziona su Windows 10
Se stai utilizzando un mouse dedicato con il tuo laptop o computer desktop ma il il tasto sinistro del mouse non funziona su Windows 10/8/7 per qualch...
Il cursore salta o si sposta in modo casuale durante la digitazione in Windows 10
Se scopri che il cursore del mouse salta o si sposta da solo, automaticamente, in modo casuale durante la digitazione nel laptop o nel computer Window...