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 listsie als Array und nicht als Zeichenfolge behandelt werden. Alle Zeichenfolgenmanipulationen werden überprüft, 1solange ich möchte, dass sie fehlschlagen.
[[ $list =~ (^| )$x($| ) ]] && echo 'yes' || echo 'no'