Исправление Zmicier, 24.11.15 13:40 (текущая версия) :
Целое без знака.
Включая ноль? Тогда проще как строку.
[[ $i != *[^0-9]* ]] || err "‘$i’ is not an unsigned integer"
Исходная версия Zmicier, 24.11.15 13:39:
[[ $i != *[^0-9]* ]] || err "‘$i’ is not an integer"