В вашем скрипте $(mess)
обозначает субоболочку, которая выполняет команду mess
;которая не является настоящей командой.
Замените скобки скобками.
echo -n "Enter message and press [ENTER]: "
read mess
cd /my/dir
git add *
git commit -m "${mess}"
Обновление
Согласно Руководству по bash , при подстановке команды говорится следующее:
Подстановка команды позволяет выводу команды заменить имя команды.Существует две формы: $ (команда) или `команда` Bash выполняет раскрытие, выполняя команду и заменяя подстановку команды стандартным выводом команды, при этом удаляются все завершающие символы новой строки.