É muito importante ter cuidado com espaços em branco entre palavras em scripts de shell. O problema com [ já foi mencionado nos comentários, mas você tem alguns outros problemas também: o $ file e também echo"stuff sem espaço.
Além disso, você tem alguns outros problemas. Caso o nome do arquivo contenha um espaço, você deve usar aspas com todas as referências "$variable" . Não sei por que você acha que u funcionaria em if [$? -eq u] - o valor será 0, não u.