Não é necessário colocar a saída de diff em uma variável, pois você pode dizer se os arquivos são diferentes com base no status de saída de diff , por exemplo,
if diff -q file1 file2 >/dev/null 2>&1; then
# files are equal
else
# files differ, or an error occurred
fi
diff retorna sucesso ( 0 ) se os arquivos não forem diferentes. Ajuste a lógica conforme necessário.
Testar o status de saída de comandos quando possível é quase sempre preferível à verificação ou análise de saída via substituição de comando.
Por questão de integridade, o erro com o seu exemplo original aconteceu porque você não citou "$diffCurr" na linha if , então passou por "divisão de palavras" em mais de uma palavra --- daí " muitos argumentos ".