Если какие-либо скрипты (как правило, старые) в Ubuntu не выполняются, выдавая необъяснимые ошибки, виной этому может быть ошибка с /bin/sh. Дело в том, что многие разработчики начинают свои скрипты следующей строкой


#!/bin/sh

По умолчанию в подавляющем большинстве дистрибутивов в качестве шелла используется bash, т.е. /bin/sh является ссылкой на /bin/bash. По неизвестной причине в Ubuntu определеная ссылка с /bin/sh на /bin/dash. dash - это облегченная версия bash для Debian, которая выдаёт ошибки на скриптах, которые работают в bash.

Как исправить ошибки

Для того, чтобы устранить проблему с запуском скриптов, нужно изменить ссылку на /bin/bash. Для этого откройте терминал и выполните следующие команды:

sudo rm -f /bin/sh
sudo ln -s /bin/bash /bin/sh

Теперь скрипты должны работать, как задумывал автор.