tarikbenn Posté(e) le 28 septembre 2006 Partager Posté(e) le 28 septembre 2006 Salut tous le monde J'ai besoin de faire un script shell qui fait certaines fonctions . Je veux le faire moi même , mais je serai amener à poser des questions ( j'en ai deja une ) Mais je dois faire ce script dans un minimum de temps ( c'est trop urgent : avant la fin de la journée ) Je vous remercie tous pour votre compréhension et à tout de suite. Première question : Pourquoi le script suivant m'affiche des erreurs : #!/usr/bin/ksh echo "A?" read A while [ ! 'a' || ! 'z' ] do echo "A?" read A done En gros je veux blinder la saisie , pour que l'utilisateur ne tape que soit a soit z. les erreurs qu'il m'affiche sont les suivantes : ./test2[4]: test: ] missing ./test2[4]: z: not found ( ou alors , juste comment faire pour qu'il ne les affiche plus ... une option ou .. ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 28 septembre 2006 Partager Posté(e) le 28 septembre 2006 #!/usr/bin/ksh unset A while [[ $A != 'a' && $A != 'z' ]] do echo "A?" read A done Lien vers le commentaire Partager sur d’autres sites More sharing options...
tarikbenn Posté(e) le 28 septembre 2006 Auteur Partager Posté(e) le 28 septembre 2006 #!/usr/bin/ksh unset A while [[ $A != 'a' && $A != 'z' ]] do echo "A?" read A done Hello Theocrite Ca marche à la perfection J'ai une autre question : Comment faire pour creer , dans un script shell , un fichier dans lequel on ecrira "toto va a l'école" ? Merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
tarikbenn Posté(e) le 28 septembre 2006 Auteur Partager Posté(e) le 28 septembre 2006 #!/usr/bin/ksh unset A while [[ $A != 'a' && $A != 'z' ]] do echo "A?" read A done Il me reste une dernière question avant la fin de la journée : Comment, a partir d'un script shell, faire pour aller dans un fichier qui contient les choses suivantes: <ital>titi toto tata titi toto tata titi aretertertzrgg/ QSdsfdsfqdf/ Qqsdqfdg/ </ital> et ajouter a la suite des lignes 8 , 9 et 10 les mots suivants: abc , def et gki. Merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sentinel Posté(e) le 28 septembre 2006 Partager Posté(e) le 28 septembre 2006 Je traduis : avant la fin des heures de TP, faites-moi mon exercice de bash... Lien vers le commentaire Partager sur d’autres sites More sharing options...
tarikbenn Posté(e) le 28 septembre 2006 Auteur Partager Posté(e) le 28 septembre 2006 #!/usr/bin/ksh unset A while [[ $A != 'a' && $A != 'z' ]] do echo "A?" read A done Hello Théocrite J'ai une dernière question avant la fin de la journée :) Je te donne le script que je lance ( et qui est sensé ajouter le nom , la version et la version du machin à la fin des trois dernières lignes du fichier /start/test/fichier.conf ) #!/usr/bin/ksh echo "taper le nom " read NOM echo "taper la version " read VERSION echo "taper la version du machin" read VERSION_M sed -i.bak '8s/.*/&${NOM}/;9s/.*/&${VERSION}/;10s/.*/&${VERSION_M}/'/start/test/fichier.conf cat /start/test/fichier.conf Mais ca ne marche malheureusement pas. Je recois le message d'erreur suivant: sed: illegal option -- i Est ce que tu vois comment débugger mon script ? Please help Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 28 septembre 2006 Partager Posté(e) le 28 septembre 2006 1/ Pense à mettre des balises [ CODE] [ /CODE] autour de ton code. 2/ Matte les tutos sur le web un peu http://wooledge.org/mywiki/BashFaq#faq37 http://www.kornshell.com/doc/ 3/ Les réponses : echo "mon texte" > Mon_fichier pour créer un fichier echo "abc def ghi" >> Mon_fichier Pour rajouter des lignes à la fin de ton fichier. L'option -i.bak est une option de perl. Tu peux faire du remplacement en sed ou en perl au choix, mais il faut rester cohérent. EDIT : C'est aussi une option sur les derniers sed, mais comme tu dois bosser sur un viel unix pourri, l'option n'est pas implémentée. Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 2 octobre 2006 Partager Posté(e) le 2 octobre 2006 Je traduis : avant la fin des heures de TP, faites-moi mon exercice de bash... On dirait Le pire c'est qu'il risque d'y en avoir de plsu en plus. vive le net dans les fac Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.