Come verificare se un programma esiste in Linux

23 mar 2023 2 min di lettura
Come verificare se un programma esiste in Linux
Indice dei contenuti

Introduzione

Uno script di shell è un potente strumento per automatizzare le attività su sistemi basati su Unix. Un requisito comune quando si scrivono script di shell è il controllo dell'esistenza di un particolare programma o comando nel sistema. Questo articolo ti guiderà attraverso diversi metodi per eseguire questo controllo, permettendoti di rendere il tuo script più robusto e affidabile.

Sommario:

  • Usando il comando -v
  • Utilizzando il comando type
  • Basandosi sul quale comando
  • Utilizzo del comando hash
  • Suggerimenti per le migliori pratiche

Utilizzandare  il command -v

Il `comando -v` è un metodo conforme a POSIX per verificare l'esistenza di un programma. È un comando shell integrato che restituisce il percorso di un comando se esiste nel sistema. Ecco un esempio di come usarlo:

if command -v program_name > /dev/null 2>&1; then
    echo "Program exists"
else
    echo "Program does not exist"
fi

Sostituisci "nome_programma" con il programma che vuoi controllare.

Utilizzare il comando type

Il comando type è un altro comando shell integrato che può essere utilizzato per verificare l'esistenza di un programma. È simile al comando -v ma fornisce anche informazioni sul tipo di comando (alias, funzione o file). Ecco come usarlo:

if type program_name > /dev/null 2>&1; then
    echo "Program exists"
else
    echo "Program does not exist"
fi

Sostituisci "nome_programma" con il programma che vuoi controllare.

Affidarsi al comando which

Il comando which è un'utilità esterna che cerca un determinato comando nelle directory specificate dalla variabile d'ambiente PATH . Sebbene non sia conforme a POSIX, è comunemente disponibile su sistemi basati su Unix. Ecco come usarlo:

if which program_name > /dev/null 2>&1; then
    echo "Program exists"
else
    echo "Program does not exist"
fi

Sostituisci "nome_programma" con il programma che vuoi controllare.

Impiegare il comando hash

Il comando hash è un comando shell integrato che mantiene una tabella hash dei comandi eseguiti di recente, velocizzando la ricerca dei comandi. Puoi usarlo per verificare l'esistenza di un programma come segue:

if hash program_name 2> /dev/null; then
    echo "Program exists"
else
    echo "Program does not exist"
fi

Sostituisci "nome_programma" con il programma che vuoi controllare.

Suggerimenti per le migliori pratiche

  • Preferisci sempre i comandi della shell incorporati come command -v, type o hash rispetto alle utilità esterne come which per una migliore compatibilità e prestazioni.
  • Il reindirizzamento dell'output a /dev/null (usando '> /dev/null 2>&1') è essenziale per evitare che l'output non necessario venga visualizzato o interferisca con lo script.
  • Se hai bisogno di controllare più programmi, usa un ciclo e un array per rendere il tuo script più conciso e gestibile.

Conclusione

In questo articolo, abbiamo discusso quattro diversi metodi per verificare se un programma esiste in uno script di shell. Mentre command -v è il metodo, il tipo, l'hash e i comandi più consigliati e ampiamente compatibili che possono essere utilizzati anche a seconda dei requisiti e dell'ambiente di sistema. Incorporando questi controlli nei tuoi script di shell, puoi assicurarti che i tuoi script siano più affidabili e adattabili a vari ambienti.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.