É 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.