AllowUsers
If specified, login is allowed only for user named that match one of the patterns.
Agregar raíz a la lista:
AllowUsers root otheruser
Использованиеawk
:
list="1,21,3,4"
source=2
awk -F, -v search="$source" '{ for (i=1;i<=NF;i++) { if ($i==search) {print $i} } }' <<<"$list"
Вы ищете 2
во всей строке, а 21
на самом деле содержит 2
.
Если вся ваша строка всегда разделена запятой, вы также можете сделать:
grep -E ',2,|,2$|^2,'
Это найдет 2
в начале, середине или конце списка.
Стандартный прием
if echo ",$LIST," | grep -q ",$SOURCE,"
then
echo "matched"
else
echo "no match"
fi
(или вы можете сказатьgrep -q ",$SOURCE," <<< ",$LIST,"
). Поиск 2
будет соответствовать 21
, но поиск ,2,
не будет соответствовать ,21,
. Нам нужно поставить запятые в начале и в конце $LIST
на случай, если номер $SOURCE
мы ищем первое или последнее число; например,
grep -q ",1," <<< "1,21,3,4"
не удастся.
Ваше использование «слова» является предложением (мне ), что вы могли бы использовать конструкции границы слова grep:
LIST="1,21,3,4"
SOURCE="2"
if echo "$LIST" | grep -q "\\<$SOURCE\\>"; then
echo "matched";
else
echo "no match";
fi