Я намагаюся написати скрипт в bash, який перевіряє дійсність введення користувача.
Я хочу відповідати вхідному (скажімо змінному x
) списку дійсних значень.
що я придумав на даний момент, це:
for item in $list
do
if [ "$x" == "$item" ]; then
echo "In the list"
exit
fi
done
Моє запитання, чи існує простіший спосіб зробити це,
щось подібне list.contains(x)
до більшості мов програмування.
Доповнення:
Скажімо, список:
list="11 22 33"
мій код буде повторювати повідомлення лише для цих значень, оскільки list
трактується як масив, а не рядок, усі рядкові маніпуляції будуть перевірені, 1
тоді як я хотів би, щоб це не було.
[[ $list =~ (^| )$x($| ) ]] && echo 'yes' || echo 'no'