Programmtion avec un terminal
liony.d
-
Utilisateur anonyme -
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
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
-
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 ? -
C'est normal que cela ne foncitonne pas,
if s'utilise de la façon suivante en shellif [ test à faire ]; then # instructions else # instruction s fi
il manque le fi à la fin-
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
-