Em bash e outros shells POSIX, { e } não são exatamente símbolos , pois são palavras especiais neste contexto. Ao criar um comando composto, como em sua definição de função, é importante que eles permaneçam palavras , ou seja, cercados por espaços em branco.
O comando final em uma definição de função de linha única como esta deve ser terminado por um ponto-e-vírgula. Caso contrário, a chave de fechamento } é tratada como um argumento para o comando.
Como um aparte, if você quer que sua função seja portável para outros shells POSIX, é melhor usar uma sintaxe de função diferente:
kk () { kate 2>/dev/null 1>&2 & disown; }
O uso de function é específico de bash , enquanto a forma dada aqui trabalha com bash , assim como outras como sh, Korn e Almquist.
disown também é bash específico.