mysql_db_name=$(printf %s\\n "$site" | perl -lpe 'y/0-9a-zA-Z$_/_/c')
Теперь, поскольку вы хорошо знаете Perl, нет необходимости в каких-либо пояснениях.
mysql_db_name=${site//[!a-zA-Z_$0-9]/_}
mysql_db_name=$(perl -se 'print y/0-9a-zA-Z$/_/cr' -- -_="$site")
Не окончательный ответ, но это может быть расширение, вызывающее проблемы. Более быстрым обходным путем для входа/выхода из системы было бы просто ввести cinnamon --replace
. Надеюсь, это не так сильно нарушит ваше рабочее состояние.