Sto provando a scrivere uno script in bash che controlli la validità di un input dell'utente.
Voglio abbinare l'input (diciamo variabile x
) a un elenco di valori validi.
quello che ho escogitato al momento è:
for item in $list
do
if [ "$x" == "$item" ]; then
echo "In the list"
exit
fi
done
La mia domanda è se esiste un modo più semplice per farlo,
qualcosa come un list.contains(x)
per la maggior parte dei linguaggi di programmazione.
Aggiunta:
dire che l'elenco è:
list="11 22 33"
il mio codice farà eco al messaggio solo per quei valori poiché list
viene trattato come un array e non come una stringa, tutte le manipolazioni delle stringhe verranno convalidate 1
mentre vorrei che fallisse.
[[ $list =~ (^| )$x($| ) ]] && echo 'yes' || echo 'no'