Exe programme shell

[Résolu/Fermé]
Signaler
Messages postés
78
Date d'inscription
lundi 10 août 2009
Statut
Membre
Dernière intervention
15 décembre 2010
-
Messages postés
78
Date d'inscription
lundi 10 août 2009
Statut
Membre
Dernière intervention
15 décembre 2010
-
Bonjour,
svp je vx votre aide
script qui affiche les n (p e n=12) premier lignes d une liste de nom de fichiers admis en parametre d entree le script devra verefie que la donnee n est correcte et il en est de meme avec les fichiers . les parametres a passer a ce script sont n et les nom des fichiers
voila ce que j ai fait svp tu px modifie les erreurs et merci bien
#/bin/bash
echo "entrie le nom de fichier"
read file
if test-f $file
then
echo"entrie le nombre de ligne "
read x
if (($x<0))
then
echo"le nombre est incorrect"
else
head -n $x $file
fi
fi
merci d'avance

6 réponses

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 881
Salut,

d une liste de nom de fichiers admis en parametre
A mon avis il faut passer tous les fichiers dont on doit lire n lignes d'un coup et non pas demander les fichiers un par un.

./script_test.sh 5 fichier1 fichier2 fichier3



d entree le script devra verefie que la donnee n est correcte
Il faut vérifier que le 1er paramètre est bien une valeur numérique.
Voir Tester une variable numérique


et il en est de meme avec les fichiers .
Ensuite il faut tester que les autres paramètres du script sont bien des fichiers

shift
for param in "$@"
do
if [ -f  "${param}" ]
then
echo "${param} est bien un fichier."
else
echo "${param} n'est pas un fichier."
exit
fi
done

Messages postés
78
Date d'inscription
lundi 10 août 2009
Statut
Membre
Dernière intervention
15 décembre 2010
13
excuse moi mais je crois pas que vous avez pas répond a ma question car apres que le programme tester si le file est un fichier il affiche les n ligne ce quelle manque ds votre programme
merci bien cher ami
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 881
Re-

Je ne t'ai pas donné le programme en entier, mais des briques à assembler, répondant à tes questions et aux besoins de ton script.

A toi de rassembler les parties en tenant compte de ce que je t'ai donné.

1 - Tester le 1er paramètre (numérique, voir lien)
2 - Tester les autres paramètres (tu peux tout a fait inclure l'affichage des lignes du fichier de suite après avoir testé que le paramètre est bien un fichier...)
Messages postés
78
Date d'inscription
lundi 10 août 2009
Statut
Membre
Dernière intervention
15 décembre 2010
13
ok merci bien cher ami mais notre prof ma dis qu'il y a des erreurs donc il faut que l'éviter .personnellement j'arrive pas les déterminer .svp si tu px m'aider
merci
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 881
Essaye ça :

#! /bin/sh

#set -xv

# Test nombre params
if [ "$#" -lt 2 ]
then echo "ERREUR ! Il faut au moins 2 paramètres."
exit 3
fi

nbr="$1"
if ! ((nbr)) 2>/dev/null
then echo "ERREUR ! Le 1er paramètre n'est pas un entier."
exit 4
fi

shift
for param in "$@"
do
if [ -f  "${param}" ]
then
echo "${param} est bien un fichier."
echo "Affichage des ${nbr} premières lignes du fichier ${param}..."
echo
head -n "${nbr}" "${param}"
echo
else
echo "${param} n'est pas un fichier."
echo
fi
done
Messages postés
78
Date d'inscription
lundi 10 août 2009
Statut
Membre
Dernière intervention
15 décembre 2010
13
merci bien ton script est parfait . merci bien
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 881
De rien, il ne te restera plus qu'à expliquer à ton prof les différents choix ;-))
Messages postés
78
Date d'inscription
lundi 10 août 2009
Statut
Membre
Dernière intervention
15 décembre 2010
13 >
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020

un autre demande svp je cherche des exercices de programation shell avec des corrections .connaissez vs des sites ???
merci d'avance .
Messages postés
78
Date d'inscription
lundi 10 août 2009
Statut
Membre
Dernière intervention
15 décembre 2010
13
oui merci bien j ai bien compr ton script .
un autre demande svp je cherche des exercices de programation shell avec des corrections .connaissez vs des sites ???
merci d'avance .