petits scripts shells

tarikbenn

Membre confirmé
17 Juillet 2006
59
0
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:up:
et à tout de suite.

Première question : Pourquoi le script suivant ne marche pas :

#!/usr/bin/ksh
echo "A?"
read A
while [ $A != 'a' || $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.
Ou est l'erreur ?:mouais:
 
Salut...

tarikbenn a dit:
En gros je veux blinder la saisie , pour que l'utilisateur ne tape que soit a soit z.

Donc en gros si on écrit en français ;) on a quelque chose comme

tant que ce n'est pas 'a' et ce n'est pas 'z' on boucle
 
Première question : Pourquoi le script suivant ne marche pas :

#!/usr/bin/ksh
echo "A?"
read A
while [ $A != 'a' || $A != 'z' ]
do
echo "A?"
read A
done
En ksh, si tu utilises des opérateurs tel que "!=" à la place de "-ne", "||" au lieu de "-o", il faut encadrer par un double crochet :
Bloc de code:
while [[ $A != 'a' || $A != 'z' ]]
do
   echo "A?"
   read A
done
 
Salut...



Donc en gros si on écrit en français ;) on a quelque chose comme

tant que ce n'est pas 'a' et ce n'est pas 'z' on boucle

oui c'est exactement ca !:up:
Alors , comment faire ?
En bonus , 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
 
Salut...



Donc en gros si on écrit en français ;) on a quelque chose comme

tant que ce n'est pas 'a' et ce n'est pas 'z' on boucle

Le script qui répond à ma première question est le suivant :

#!/usr/bin/ksh
unset A
while $A != 'a' && $A != 'z'
do
echo "A?"
read A
done

(il ma été donné par un mec )

Mais je n'ai pas celui qui répond à ma deuxième question :

Comment faire pour creer , dans un script shell , un fichier dans lequel on ecrira "toto va a l'école" ?

Merci d'avance :)
 
Le script qui répond à ma première question est le suivant :

#!/usr/bin/ksh
unset A
while $A != 'a' && $A != 'z'
do
echo "A?"
read A
done

(il ma été donné par un mec )

Bah c'est bien l'algorithme que je t'ai donné :siffle:


Pour la deuxième question, penses à utiliser l'opérateur ">" ;)
 
Bah c'est bien l'algorithme que je t'ai donné :siffle:


Pour la deuxième question, penses à utiliser l'opérateur ">" ;)


Désolé , j'avais pas vu ton algo :rose:

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
 
En ksh, si tu utilises des opérateurs tel que "!=" à la place de "-ne", "||" au lieu de "-o", il faut encadrer par un double crochet :
Bloc de code:
while [[ $A != 'a' || $A != 'z' ]]
do
   echo "A?"
   read A
done

Hello
J'ai une dernière question avant la fin de la journée :)
Je te donne le script que je lance


#!/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

Please help ;)