В скрипте выполняется стандартная проверка — не является ли переменная пустой:
if [ $VERS ] then echo "$VERS" sort -n -t . -k 1 else echo "Can't get versions list!" fi
Но при запуске — bash сообщает об ошибке:
$ ./version.sh ./version.sh: line 11: [: too many arguments Can't get versions list!
Проблема заключается в том, что в переменной $VERS содержится слишком много строк, и стандартная утилита [ (исполняемый файл /usr/bin/[ которая является аналогом утилиты /usr/bin/test) не может их обработать.
В таком случае — можно использовать возможность bash — [[, которая аналогична стандартному test — но имеет больше возможностей:
if [[ $VERS ]] then echo "$VERS" sort -n -t . -k 1 else echo "Can't get versions list!" fi }
Так — скрипт сработает без ошибок.




