Bonjour,
je suis face a une problématique dont je n'ai pour l'instant pas la solution.
J'utilise un script en perl (que je n'ai pas écris, je suis débutant en perl et pour le moment j'essaye juste de faire des modifs sur les scripts existants), donc ce script sert a mettre des fichiers ds un BDD (avec un pseudo versionning).
Dans une partie du script je fais appel a un script cshell qui a pour objectif de faire un .tar sur l'ensemble des fichiers que je souhaites archiver. La seconde action sert a contrôler des coordonnées sur un des fichiers.
Vous allez me dire mais pourquoi ne pas tout avoir écrit en perl, n'ayant pas de base en perl et personne pour réellement me supporter j'ai écris ce script en cshell ( mm pas en bash).
J'ai choisi cette option car dans le script perl en question il y a déjà d'autres scripts cshell qui sont appelés et cela fonctionne correctement... difficile de partir sur tous les front cshell bash perl awk etc... je pioche un peu partoutsans vraiment rien maîtriser lol!
Ci-dessous un extrait du script perl:
A la 3 eme lignes je fais appel au script Ewip_files (Ewip_files.csh) et la problématique que je rencontre c'est que dans ce script a moment donnée j'affiche des coordonnées et je demande a l'utilisateur de contrôler visuellement les coordonnées que j'affiche et je lui pose la question "Voulez-vous continuer? Tapez oui ou non"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 print $Tee "==================================================\n"; print $Tee "Creation of archive file \n"; #print $Tee "Add here the xor.gds that you want to save \n"; my $Archive_File = `Ewip_files -tegname ${TegName} -tegroot ${Dir}`; print $Tee "$Archive_File"; my $My_Local = "gds is missing"; my $Return = "$Archive_File" cmp "$My_Local"; if ($Return == 1){ print $Tee "Exit of Config_generator_file \n"; exit; } print $Tee "==================================================\n";
Partie du script cshell Ewip_files:
Code CSH : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 awk '{\ {xp1= $1; yp1= $2; xp2= $3; yp2= $4;} {largeur = xp2 - xp1; hauteur = yp2 - yp1; surface = largeur * hauteur;} {delta1 = yp2 - int(yp2); delta2 = yp1 - int(yp1); delta3 = xp1 - int(xp1); delta4 = xp2 - int(xp2);}\ printf("\nTEG dimensions (in um):\n");\ printf(" Width : %10.6f\n",largeur);\ printf(" Length : %10.6f\n",hauteur);\ printf(" Area : %10.6f\n\n",surface);\ #printf("\ndelta1 = %10.6f \n",delta1);\ #printf("delta2 = %10.6f \n",delta2);\ #printf("delta3 = %10.6f \n",delta3);\ #printf("delta4 = %10.6f \n",delta4);\ if (!( delta1 == 0 ) || !( delta2 == 0 ) || !( delta3 == 0 ) || !( delta4 == 0 )){\ printf("ERROR: Layout BBOX must be coincident with micrometer scale\n");\ printf(" Top left BBOX coordinates: (%10.3f;%10.3f) \n",xp1,yp1);\ printf(" Bottom right BBOX coordinates: (%10.3f;%10.3f) \n",xp2,yp2);\ printf("RELEASE STOPPED: Ensure layout BBOX is coincident with micrometer scale \n");\ exit }\ else {\ printf("TEG aligned with micrometer scale :-) \n");\ }\ }' points.txt echo "" echo "******************************************************" echo "* Please take a moment to check the size of your teg *" echo "******************************************************" echo "" echo "Would you like to continue? type only yes or no" set sizeanswer=$< if ( $sizeanswer == "no" ) then exit endif
La problématique est que sur mon terminal après avoir afficher "Creation of archive file" il attend une réponse et je ne comprends pas pourquoi tous les echo ne s'affiche pas ? il s'affiche une fois que j'ai répondu yes or no mais pour répondre yes or no il me faut connaitre les coordonnées fournit par la commande awk ci-dessus.
Pour info j'ai posté le mm message dans le forum perl.
N'hesitez pas a me demander des infos supplémentaires merci pour votre aide.
Partager