Bash Shell Script: en Utilisant la commande Diff

Quelqu'un peut-il m'aider à comprendre quel est le problème avec ce programme?

#!/bin/bash

find teste1 > names.lst
find teste2 > names2.lst

result=$(diff -y -W 72 $names $names2)

if [ $? -eq 0]; then
echo "files are the same"
else
echo "files are different"
echo "$result"
fi

Il renvoie les erreurs suivantes:

diff: opérande manquant

teste.sh: [: manquant ']'

Fichiers sont différents

(un espace vide apparaît ici)

Le vide de l'espace est la variable "result" mais pourquoi avait-il pas enregistrer les différences entre les 2 fichiers?

Je suis en train d'essayer d'utiliser la commande diff pour trouver les différences dans les textes sur ces deux fichiers.

  • Où avez-vous remplir les variables $names, $names2? Je suppose que ceux qui sont destinés à être names.lst, names2.lst mais ce code ne définit pas les variables.
  • . . . 0] . . .
  • Ah, je suppose que ça explique pourquoi il n'est pas assez de travail, alors :/ j'ai changé et déclaré de ces variables avec la valeur des noms.lst et names2.lst MERCI! 😀
InformationsquelleAutor Gabriel | 2014-01-28