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