Bonjour.
Je commence une formation de programmeur, mais le passage sur Unix est assez "flou".
Pour exemple, je dois faire un script en Bourne Shellqui affiche les ligne 5 à 10 du fichier visé.
Pour cela, j'ai réussi avec le code suivant :
Là ou je pêche, c'est qu'il faut que je teste le fichier visé, pour voir si c'est un fichier ordinaire. Dans le cas contraire, je dois envoyer le message :#!/bin/sh
then head -10 $1 | tail -5
n'est pas un fichier ordinaire, ou n'existe pas
J'ai donc rédigé cela :
Et là, malheureusement, cela m'indique à chaque fois que le fichier n'est pas ordinaire, ou n'existe pas. J'ai beau chercher, je ne vois pas l'erreur que j'ai commise.#!/bin/sh
if test -f $1
then head -10 $1 | tail -5
else echo $1 n\'est pas un fichier ordinaire, ou n\'existe pas
fi
Dans le même ordre d'idée, je dois évaluer deux numérique pour établir une comparaison "est inférieur à".
j'ai beau chercher, je ne trouve pas l'erreur.#!/bin/sh
until test [$# -eq 2]
do
if test $# -lt 1
echo Il n\' y a aucun argument, entrez deux arguments
elif test $# -eq 1
echo il manque un argument
elif test $# -gt 2
echo il y a trop d\'arguments
fi
done
if $1 -lt $2
then echo $1 est inferieur à $2
else echo $2 est inferieur à $1
fi
Merci de vos réponses.
![]()
Partager