Если для параметра RUNZSH
установить значение no перед запуском установщика или запустить его со стандартным вводом, не подключенным к терминалу, оболочка не запустится. В вашем случае добавление < /dev/null
в конце команды кажется самым простым решением:
su - $username -c 'sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" < /dev/null'