Programmtion avec un terminal

Fermé
liony.d - 19 déc. 2012 à 01:48
 Utilisateur anonyme - 20 déc. 2012 à 22:29
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

Utilisateur anonyme
19 déc. 2012 à 03:20
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
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
Utilisateur anonyme
20 déc. 2012 à 18:31
echo "$fichier1"

avec un $
0
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
Utilisateur anonyme
20 déc. 2012 à 22:29
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