Problème PS1, cmd est en boucle

J'ai défini PS1 à la valeur suivante:

 PS1="\033[0;37m[\033[1;33m\w\033[0;37m]\n\t \[[34m\]\u\033[0;37m@\[[34m\]\[[1m\]\h\[(B[m\] $" 

Le problème est que toute commande s'étendant sur plus d'une ligne s'arrête et ne génère pas une nouvelle ligne. J'ai donc écrasé la ligne que j'ai déjà tapée. Quel est le problème avec la PS1 ?

Les caractères non imprimés dans l'invite doivent être entourés par \[ et \] afin que bash puisse suivre correctement la longueur de l'invite et accueillir des lignes qui dépassent le bord du terminal.