cooltiti a écrit :
Bonjour,
pour la bille en shell unix que je suis, j'aurais besoin d'un gros coup de main...
voilà, j'ai grosso modo 80 shell à créer. Ils vonts tous se ressembler, les seuls choses qui vont changer seront le nom du script bien sûr et 2 lignes dans le script.
Evidemment, j'aimerais autant éviter d'avoir à créer ces 80 scripts à la main.
Donc, j'aurais un fichier "liste.txt" avec ma liste à l'intérieur du type :
NOM1
NOM2
NOM3
...
je voudrais donc que ça me créé autant de fichier qu'il y a de lignes :
lance_NOM1.sh
lance_NOM2.sh
lance_NOM3.sh
et dans chacun de ces scripts j'aurais
#!/bin/ksh
###############################################################################
#
# FILE lance_NOM1.sh
#
# DESC
...patatipatata
...patatipatata
execute_fonction.sh $param1 $NOM1 $param3
etc. etc.
Merci d'avance pour vos réponses
|
Bien que ce soit totalement idiot, voici une solution qui fait exactement ce que tu veux
#!/bin/sh
# Script idiot qui génère des scripts identiques à partir d'une ligne lue dans un fichier
# Stockage du fichier à lire dans le buffer n° 3
exec 3<file.txt
# Lecture du buffer 3 ligne par ligne
while read lig 0<&3
do
# Ecriture du script
(
echo "#!/bin/ksh"
echo "#################################"
echo "#"
echo "FILE lance_$lig.sh"
echo "#"
echo "# DESC"
echo "...patatipatata"
echo "...patatipatata"
echo "execute_fonction.sh \$param1 $lig \$param3"
) > lance_$lig.sh
done |
cooltiti a écrit :
nan, c'est vraiment pas possible... au boulot c'est comme ça, et c'est tout (sont un peu bête mais bon...)
|
Faut que tu leurs dises, au boulot, qu'ils arrêtent d'être stupides !!!
Tu leurs montres ce script
#!/bin/ksh
###############################################################################
#
# FILE lance_le_nom_que_tu_veux.sh
#
# DESC
...patatipatata
...patatipatata
execute_fonction.sh $param1 $1 $param3
etc. etc. |
Et tu leur dis que ce script unique lance le nom que tu veux. Tu le lances juste en donnant le nom qui va bien en paramètre...
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.