Что не так с моим bash скриптом?
Пробовали stdout и stderr перенаправить в файл? Может, aticonfig что-нибудь пишет по этому поводу. В dmesg тоже ничего странного?
На правах гипотезы - скрипт срабатывает слишком рано, после него стартует кто-то ещё (например, переинициализируется при запуске иксов) и сбрасывает настройку в дефолт.
Не выясняли, 35% - это минимальная дефолтная скорость кулера вашей видеокарты или сбросит ниже если улучшить охлаждение видеокарты?
Как решение в лоб и надёжно - перешить биос видеокарты с изменённой схемой управления кулером.
Откуда такая убежденность что скрипт вообще выполняется?