Я бы использовал выражение grep следующим образом:
echo $location | grep -xq "\w\{10\}\|/\w\{10\}\|/home/\w\{10\}"
Это соответствует строкам, которые являются точно одним из следующих случаев (вызванных -x), и не печатает совпадающую строку (вызваннуюthe -q)
- 10 символов
- 10 символов с начальным /
- 10 символами, которым предшествует '/ home /'
Чтобы использовать это в скрипте, просто поместите его в оператор if следующим образом:
if echo "$location" | grep -xq "\w\{10\}\|/\w\{10\}\|/home/\w\{10\}"; then
# location valid
else
# location not valid
fi