Чтобы ответить на вопрос заголовка,
«Закройте терминал после запуска сценария bash»:
Не глядя при подробностях, что делает скрипт, скрипт может быть непосредственно запущен внутри терминала с опцией -e (--command), не запуская оболочку - он используется вместо оболочки:
gnome-terminal -e ./script.sh
Используйте опцию -x (--execute), если вы хотите предоставить аргументы сценарию. При этом весь остаток командной строки принимается за команду и аргументы.
gnome-terminal -x ./script.sh foo bar
Если ваш сценарий завершен, нет интерактивной оболочки, которая могла бы задержать все, ожидая ввода пользователя.
Тестирование будет завершено только после того, как команда, запущенная в нем, выйдет - например, закрытие после sleep выполняется 4 секунды без оболочки:
gnome-terminal -x sleep 4
Конечно, вы можете использовать скрипты оболочки, потому что ваш скрипт все равно использует другой экземпляр оболочки.
Кроме того, вы можете запустить оболочку с явным скриптом - она не будет интерактивной: [ ! d10]
gnome-terminal -x bash -c "echo 'Hello!'; sleep 4"