\documentclass[ ]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{amsmath}
\usepackage[
shortcuts, % define shortcuts (\ac for acronym)
nonumberlist, %keine Seitenzahlen anzeigen
acronym, %ein Abkürzungsverzeichnis erstellen (seperate list)
% toc, %Einträge im Inhaltsverzeichnis
section, %im Inhaltsverzeichnis auf section-Ebene erscheinen
sort = standard, % (standard, def, use)
]{glossaries}
%Ein eigenes Symbolverzeichnis erstellen
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}
\makeglossaries
\begin{document}
% print out symbol list
\printglossary[type=symbolslist,style=long]
%\providecommand{\Esat}{\ensuremath{E_\mathrm{sat}}}
\providecommand{\Ein}{\ensuremath{E_\mathrm{in}}}
\newglossaryentry{symb:Esat}{
name=$E_\mathrm{sat}$, sort=symbolEsat, type=symbolslist,
description={saturation energy}}
%
\newglossaryentry{symb:Ein}{
name=$\Ein$, sort=symbolEin, type=symbolslist,
description={input energy}}
\gls{symb:Esat}
\gls{symb:Ein}
\end{document}
Ersetzt man \gls durch \glsadd, dann verschwindet der Fehler interessanterweise.(./gloss.syi
! Undefined control sequence.
<recently read> \Ein
Ist es möglich in glossaries Definitionen mit Befehlen zu arbeiten?


