Ich versuche, ein Skript in Bash zu schreiben, das die Gültigkeit einer Benutzereingabe überprüft.
Ich möchte die Eingabe (z. B. Variable x
) mit einer Liste gültiger Werte abgleichen.
Was ich mir im Moment ausgedacht habe, ist:
for item in $list
do
if [ "$x" == "$item" ]; then
echo "In the list"
exit
fi
done
Meine Frage ist, ob es einen einfacheren Weg gibt, so
etwas wie einen list.contains(x)
für die meisten Programmiersprachen.
Ergänzung:
Sagen Sie Liste ist:
list="11 22 33"
Mein Code gibt die Nachricht nur für diese Werte wieder, da list
sie als Array und nicht als Zeichenfolge behandelt werden. Alle Zeichenfolgenmanipulationen werden überprüft, 1
solange ich möchte, dass sie fehlschlagen.
[[ $list =~ (^| )$x($| ) ]] && echo 'yes' || echo 'no'