Problème en shell :'(
bolbo
-
mellouk -
mellouk -
Bonjour!
Je suis en 1ere année d'iut info & on U comme sujet 1 exo de programmation en shell, & G po tro compri comment faire D joli scripts!
En gros on doi faire 1 script li le nom des etudiants connectés dans 1 salle TX particuliere, un ki cherche 1 fichier en tete C donné au clavier dans la bibli & enfin les noms des fichiers crées le jour mm & se trouvan t dans le repertoire donné au clavier. & le pb C ke je c pas tro comment rediger mes scripts! Toute aide serai la bienvenue. Merci d'avance
Je suis en 1ere année d'iut info & on U comme sujet 1 exo de programmation en shell, & G po tro compri comment faire D joli scripts!
En gros on doi faire 1 script li le nom des etudiants connectés dans 1 salle TX particuliere, un ki cherche 1 fichier en tete C donné au clavier dans la bibli & enfin les noms des fichiers crées le jour mm & se trouvan t dans le repertoire donné au clavier. & le pb C ke je c pas tro comment rediger mes scripts! Toute aide serai la bienvenue. Merci d'avance
A voir également:
- Problème en shell :'(
- Classic shell - Télécharger - Personnalisation
- Ssh secure shell - Télécharger - Divers Web & Internet
- Classic shell c'est quoi ✓ - Forum Windows 10
- Shell addition ✓ - Forum Shell
- Additionner des variables string shell,bash - Forum Programmation
7 réponses
Ecoute, mon petit ami en première, si toi tu gagnes du temps à écrire en abbrégé, nous sommes peut-être cinquante à devoir te décoder pour tenter de t'aider, alors le respect le plus élémentaire serait d'écrire en français et avec les accents je t'en supplie puisque tu n'as visiblement pas un clavier Qwerty sous tes doigts ! Pour ce que cela te prendra de temps en plus, c'est peanuts !
Alors reprennons. Sur quel ordinateur, tournant quel système devras-tu faire ce travail ? Comment pourrais-tu détecter les utilisateurs connectés ? Est-ce un main-frame unix avec des terminaux ? Quel langage de shell dois-tu utiliser? Est-ce que tu connais déjà ce langage ?
Peux-tu nous traduire si cela avait un importance les mots:
salle TX,
fichier en tete C
:,§_ ç _
(@)=(@)
Alors reprennons. Sur quel ordinateur, tournant quel système devras-tu faire ce travail ? Comment pourrais-tu détecter les utilisateurs connectés ? Est-ce un main-frame unix avec des terminaux ? Quel langage de shell dois-tu utiliser? Est-ce que tu connais déjà ce langage ?
Peux-tu nous traduire si cela avait un importance les mots:
salle TX,
fichier en tete C
:,§_ ç _
(@)=(@)
Oups, désolé, c'est l'habitude pour les abréviations!
TX c'est des terminaux X sous Unix. Il me semble qu'on peut utiliser la commande "who" pour connaitre les utilisatuers connectés dans une salle donnée, et passer ce numéro de salle en paramètre du script.
On doit programmer ca en korn shell. Ce langage, on l'a un peu étudié en cours.
Lezs fichiers entête c'est les include en C++ qui se trouvent sur le réseau à l'IUT .
Merci
TX c'est des terminaux X sous Unix. Il me semble qu'on peut utiliser la commande "who" pour connaitre les utilisatuers connectés dans une salle donnée, et passer ce numéro de salle en paramètre du script.
On doit programmer ca en korn shell. Ce langage, on l'a un peu étudié en cours.
Lezs fichiers entête c'est les include en C++ qui se trouvent sur le réseau à l'IUT .
Merci
Bon, ce n''est pas compliqué, tu lances quelques bouts de programmes que tu pipes au suivant, qu'il soit grep, awk ou perl pour filtrer ce qui est en trop et pour mettre en forme puis sur diriges vers le stream de sortie.
Demande les man pages de chacune de who, ps, grep et find qui varient d'un unix à l'autre...
http://www.ift.ulaval.ca/~beaulieu/linux/fr/man1/who.html
http://www.ift.ulaval.ca/~beaulieu/linux/fr/man1/ps.html
http://www.ift.ulaval.ca/~beaulieu/linux/fr/man1/grep.html
http://www.ift.ulaval.ca/~beaulieu/linux/fr/man1/find.html
Pour les paramètres, tu dois te renseigner sur la syntaxe des korn shells. Fais-nous ton devoir et envoie-nous tes projets, on pourra tous te relire et en profiter ...
:,§_ ç _
(@)=(@)
Demande les man pages de chacune de who, ps, grep et find qui varient d'un unix à l'autre...
http://www.ift.ulaval.ca/~beaulieu/linux/fr/man1/who.html
http://www.ift.ulaval.ca/~beaulieu/linux/fr/man1/ps.html
http://www.ift.ulaval.ca/~beaulieu/linux/fr/man1/grep.html
http://www.ift.ulaval.ca/~beaulieu/linux/fr/man1/find.html
Pour les paramètres, tu dois te renseigner sur la syntaxe des korn shells. Fais-nous ton devoir et envoie-nous tes projets, on pourra tous te relire et en profiter ...
:,§_ ç _
(@)=(@)
1)
echo "Donner la lettre de la salle"
read alpha
echo "vous avez choisi de connaitre les etudiants de la salle $alpha"
finger -l | grep "Login" | tr -s " " | cut -f 3,8,9 -d " " > temp
templiste=` who | grep "ncdtx$alpha" | cut -f1 -d " " `
grep -E "$templiste" temp
rm -f temp
2)
echo "Donner le nom de la fonction a rechercher"
read fct
nomf=` grep -l "$fct" /usr/include/*.h `
nom2=` grep -l "$fct" /usr/ibmcxx/include/*.h `
echo "$nomf" "$nom2"
3)
date
jour=` date | cut -f 2,3 -d " "`
echo "Donner nom, par defaut courant"
read rep
cd $rep
ll | tr -s " " |cut -f 6,7,9 -d " " | sort $date > tous
grep -E "$jour" tous
rm -f tous
C'est pour ce 3eme exemple que j'ai eu des problemes parce que on voulai pouvoir faire des conditionnelles mais il y a des erreurs. En gros on voulait dire "si rien n'est rentré faire ceci, sinon faire cela et dans tous les autres cas on recommence" Mais il y avait un probleme dans la do while.
Donc la le sript marche a peu pres mais est loin d'etre propre!!
echo "Donner la lettre de la salle"
read alpha
echo "vous avez choisi de connaitre les etudiants de la salle $alpha"
finger -l | grep "Login" | tr -s " " | cut -f 3,8,9 -d " " > temp
templiste=` who | grep "ncdtx$alpha" | cut -f1 -d " " `
grep -E "$templiste" temp
rm -f temp
2)
echo "Donner le nom de la fonction a rechercher"
read fct
nomf=` grep -l "$fct" /usr/include/*.h `
nom2=` grep -l "$fct" /usr/ibmcxx/include/*.h `
echo "$nomf" "$nom2"
3)
date
jour=` date | cut -f 2,3 -d " "`
echo "Donner nom, par defaut courant"
read rep
cd $rep
ll | tr -s " " |cut -f 6,7,9 -d " " | sort $date > tous
grep -E "$jour" tous
rm -f tous
C'est pour ce 3eme exemple que j'ai eu des problemes parce que on voulai pouvoir faire des conditionnelles mais il y a des erreurs. En gros on voulait dire "si rien n'est rentré faire ceci, sinon faire cela et dans tous les autres cas on recommence" Mais il y avait un probleme dans la do while.
Donc la le sript marche a peu pres mais est loin d'etre propre!!
Bonjour à tous.
Pour le 3ème point, tu peux effectivement rajouter quelques tests comme par exemple l'existence du repertoire saisi.
Ex :
date
jour=` date | cut -f 2,3 -d " "`
echo "Donner nom, par defaut courant"
read rep
[[-d rep]] && {
cd $rep
ll | tr -s " " |cut -f 6,7,9 -d " " | sort $date > tous
grep -E "$jour" tous
rm -f tous
}
Bon courage.
(:•Þ Pitu
Pour le 3ème point, tu peux effectivement rajouter quelques tests comme par exemple l'existence du repertoire saisi.
Ex :
date
jour=` date | cut -f 2,3 -d " "`
echo "Donner nom, par defaut courant"
read rep
[[-d rep]] && {
cd $rep
ll | tr -s " " |cut -f 6,7,9 -d " " | sort $date > tous
grep -E "$jour" tous
rm -f tous
}
Bon courage.
(:•Þ Pitu
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Félicitation àbolbo et pitu !
Ah, les jeunes, cela fait plaisir à voir que certains vont encore au fond es choses.
Un acheteur dans une société est celui qui négocie les remises et les délais de livraison des PCs, qui a une belle voix, une belle cravatte et n'a pas besoin de connaire Bourne et Korn.
Un ingénieur système est celui qui maîtrise le arcanes des systèmes et peut à la demande des utilisateur faire des miracles.
Les scripts ont été introduits pour pouvoir interagir avec le système opératoire, chaque grand fabricant a eu ses idées, les scripts chez unix ont traversé les âges et sont de l'avis de tous extrêmenent fournis
contrairement au"batch files" du MS-DOS (et encore plus rigolo, LA CONSOLE de RÉCUPÉRATION de Windows XP qui me laisse pantois: par exemple: on dispose de l'instruction Copy, mais dans un seul sens et dans cetains répertoires bien précis: de A:\ vers C:\windows mais pas quesion de lancer Edit boot.ini par exemple, ils ont estimés que ce n'était sans doute pas nécessaire...
:,§_ ç _
(@)=(@)
Ah, les jeunes, cela fait plaisir à voir que certains vont encore au fond es choses.
Un acheteur dans une société est celui qui négocie les remises et les délais de livraison des PCs, qui a une belle voix, une belle cravatte et n'a pas besoin de connaire Bourne et Korn.
Un ingénieur système est celui qui maîtrise le arcanes des systèmes et peut à la demande des utilisateur faire des miracles.
Les scripts ont été introduits pour pouvoir interagir avec le système opératoire, chaque grand fabricant a eu ses idées, les scripts chez unix ont traversé les âges et sont de l'avis de tous extrêmenent fournis
contrairement au"batch files" du MS-DOS (et encore plus rigolo, LA CONSOLE de RÉCUPÉRATION de Windows XP qui me laisse pantois: par exemple: on dispose de l'instruction Copy, mais dans un seul sens et dans cetains répertoires bien précis: de A:\ vers C:\windows mais pas quesion de lancer Edit boot.ini par exemple, ils ont estimés que ce n'était sans doute pas nécessaire...
:,§_ ç _
(@)=(@)
Tout d'abord je tien a remercier tous ceux qui m'on bien aidé a cet exo. Voici la version finale:
1)
echo "Donner la lettre de la salle : a,b,c,d,e,f,h "
echo "Par defaut la liste complete des personnes connectees ."
read alpha
echo ""
finger -l | grep "Login" | tr -s " " | cut -f 3,8,9 -d " " > temp
templiste=` who | grep "ncdtx$alpha" | cut -f1 -d " " `
grep -E "$templiste" temp
rm -f temp
echo ""
2)
echo "Donner le nom de la fonction a rechercher"
read fct
echo " Les resultats de la fonction $fct sont : "
echo ""
echo " 1ere recherche : /usr/include/ "
cd /usr/include/
nomf1=` grep -l "$fct" *.h `
echo "$nomf1"
echo ""
echo " 2eme recherche : /usr/ibmcxx/include/ "
cd /usr/ibmcxx/include/
nomf2=` grep -l "$fct" *.h `
echo "$nomf2"
echo ""
3)
date
jour=` date | cut -f 2,3 -d " "`
echo "Donner nom, pour repertoire courant = . "
read rep
echo ""
[[ -d "$rep" ]] && {
cd $rep
ll | tr -s " " |cut -f 6,7,9 -d " " | sort $date > temp
grep -E "$jour" temp
rm -f temp
echo ""
}
Merci a tous :)
1)
echo "Donner la lettre de la salle : a,b,c,d,e,f,h "
echo "Par defaut la liste complete des personnes connectees ."
read alpha
echo ""
finger -l | grep "Login" | tr -s " " | cut -f 3,8,9 -d " " > temp
templiste=` who | grep "ncdtx$alpha" | cut -f1 -d " " `
grep -E "$templiste" temp
rm -f temp
echo ""
2)
echo "Donner le nom de la fonction a rechercher"
read fct
echo " Les resultats de la fonction $fct sont : "
echo ""
echo " 1ere recherche : /usr/include/ "
cd /usr/include/
nomf1=` grep -l "$fct" *.h `
echo "$nomf1"
echo ""
echo " 2eme recherche : /usr/ibmcxx/include/ "
cd /usr/ibmcxx/include/
nomf2=` grep -l "$fct" *.h `
echo "$nomf2"
echo ""
3)
date
jour=` date | cut -f 2,3 -d " "`
echo "Donner nom, pour repertoire courant = . "
read rep
echo ""
[[ -d "$rep" ]] && {
cd $rep
ll | tr -s " " |cut -f 6,7,9 -d " " | sort $date > temp
grep -E "$jour" temp
rm -f temp
echo ""
}
Merci a tous :)
je suis un etudiant en compétence complémentaire en iformatique
mon problème est le suivant
un enseignant veut espionner ses étudiants . il décide d'avoir tous les étudiant qui sont jamais ouvert une session sur le réseau de l'université.
on utilise les instructions ypcat passwd
grep et cut et finger pour avoir arriver à la liste des étudiants
merci infiniment
mon problème est le suivant
un enseignant veut espionner ses étudiants . il décide d'avoir tous les étudiant qui sont jamais ouvert une session sur le réseau de l'université.
on utilise les instructions ypcat passwd
grep et cut et finger pour avoir arriver à la liste des étudiants
merci infiniment