#!/bin/bash
while getopts ":f:" opt; do
case ${opt} in
f | file)
file_path=${OPTARG}
;;
# ...
esac
done
shift $((OPTIND -1))
# Resto dello script...
alternative here
#!/bin/bash
# Funzione per mostrare l'aiuto
show_help() {
echo "Esempio di CLI con opzioni"
echo "Utilizzo: nome_script.sh [opzioni]"
echo ""
echo "Opzioni disponibili:"
echo " -a, --opzione-a Descrizione opzione A"
echo " -b, --opzione-b Descrizione opzione B"
echo " -c VAL, --opzione-c VAL Descrizione opzione C (richiede un valore)"
echo " -d VAL, --opzione-d VAL Descrizione opzione D (richiede un valore)"
echo " -h, --help Mostra questo messaggio di aiuto"
echo ""
}
# Legge le opzioni passate alla CLI
while [[ $# -gt 0 ]]; do
key="$1"
case $key in
-a|--opzione-a)
opzione_a=true
shift
;;
-b|--opzione-b)
opzione_b=true
shift
;;
-c|--opzione-c)
if [[ -n $2 ]]; then
opzione_c="$2"
shift 2
else
echo "Errore: l'opzione -c/--opzione-c richiede un valore"
exit 1
fi
;;
-d|--opzione-d)
if [[ -n $2 ]]; then
opzione_d="$2"
shift 2
else
echo "Errore: l'opzione -d/--opzione-d richiede un valore"
exit 1
fi
;;
-h|--help)
show_help
exit 0
;;
*)
echo "Errore: opzione non valida: $1"
exit 1
;;
esac
done
# Utilizzo delle opzioni
if [[ $opzione_a ]]; then
echo "Opzione A attivata"
fi
if [[ $opzione_b ]]; then
echo "Opzione B attivata"
fi
if [[ -n $opzione_c ]]; then
echo "Opzione C: $opzione_c"
fi
if [[ -n $opzione_d ]]; then
echo "Opzione D: $opzione_d"
fi
For example
--file
or--output
alternative here