Programmtion avec un terminal

liony.d -  
 Utilisateur anonyme -
Bonjour,

pourquoi mon terminal ubnto ne fonctionne pas quand par exemple je tape cmp ou la commande if ou grep voici l'exemple
ubuntu@ubuntu:~$ read fichier1
rose
ubuntu@ubuntu:~$ read fichier2
cours
ubuntu@ubuntu:~$ if cmp $1 $2
>

mon programme est: comparaison de deux fichiers
read fichier1
read fichier2
if cmp $1 $2
then
echo "fichier identiques"
else
echo "fichiers differents"
fi

2 réponses

  1. Utilisateur anonyme
     
    salut,

    $1 et $2 sont les premier et deuxième paramètres positionnels passés en arguments à ton script.

    donnes-tu des arguments à ton script sur la ligne de commandes ?
    0
    1. liony.d
       
      SALUT,
      méme résultat quand je tape
      ubuntu@ubuntu:~$ read fichier1
      rose
      ubuntu@ubuntu:~$ read fichier2
      cours
      ubuntu@ubuntu:~$ if cmp fichier1 fichier2
      >
      déjà quand je tape seulement if
      ubuntu@ubuntu:~$ if
      >
      de même pour cmp
      ubuntu@ubuntu:~$ cmp
      >
      0
    2. Utilisateur anonyme
       
      echo "$fichier1"

      avec un $
      0
  2. lekaf974
     
    C'est normal que cela ne foncitonne pas,

    if s'utilise de la façon suivante en shell
    if [ test à faire ]; then 
       # instructions 
    else 
       # instruction s
    fi


    il manque le fi à la fin
    0
    1. Utilisateur anonyme
       
      tout à fait.
      le terminal est poli : il attend qu'on ait fini de taper entièrement une commande, pour commencer à l'exécuter. lol

      Or, if est le mot clé d'une commande composée :
      if liste; then liste; [ elif liste; then liste; ] ... [ else liste; ] fi
      le shell va donc attendre que le fi soit entré pour traiter la commande.
      cf. man bash
      0