В Bash 4.2 добавлена поддержка отрицательных длин подстрок:
http://tldp.org/LDP/abs/html/abs-guide.html#SUBSTREXTR01
Пример 37-12. Отрицательный параметр в конструкции извлечения строки
Когда параметр "length" отрицателен, он служит параметром смещения от конца.
Например, следующие результаты "Мир" при тестировании на Ubuntu:
STR="Hello World!"
echo ${STR:6:-1}
Но в OS X (GNU bash, версия 4.3.42 (1)-релиз (x86_64-apple-darwin14.5.0))такое использование приводит к следующей ошибке:
-1: substring expression < 0
Это специфическая OS X, или она была снова отключена в последующих обновлениях bash? Есть ли способ включить эту функцию для OS X?