bonjour,
J'ai du me mettre au shell recement afin de créer un script d'automatisation. Désolé d'avance si mes questions peuvent paraître idiotes.

Mon but est d’exécuter mon script appelé "bonjour.sh" qui trouvera une liste de fichier avec un nom particulier, stocke les chemin dans une variable et démarre un programme interne nommé "hip" afin qu'ils puisse traiter ces fichiers. je voulais utiliser la commande "expect" et "send" afin que le programme puisse accepter des commandes automatiques.

Tous se passe bien jusqu'au moment ou le programme "hip" démarre (screen hip) : mon script ne fait rien, il ne détecte pas la demande de "hip" d'enter une commande.
Une fois que je quitte "hip" (commande "ex")mon programme me met un message d'erreur comme quoi il n'a rien trouvé et continue dans la boucle en me redemarrant hip (screen hip2)


Code : 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
32
[ATTACH=CONFIG]201058[/ATTACH][ATTACH=CONFIG]201059[/ATTACH][ATTACH=CONFIG]201058[/ATTACH]
#!/bin/bash
 
echo "-----bonjour------"
echo "      "
echo "ce programme sert à l'automatisation de la converstion d'un grand nombre de ficher "
 
# on cherche d'abord les fichiers interessant 
find -name "file.msh">liste.txt
 
#combien de fichier ont été trouvés ? 
a=$(sed -n '$=' liste.txt)
 
# début de la boucle (ici on mettra la valeur de a , ou un petit chiffre pour un cas test)
for i in $(seq 0 2)
do
echo "ca marche $i"
grep dp$i liste.txt>trouve
cd $trouve
 
#execute le programme hip
/aaa/hip-1.46.2-LINUX_x86
 
#entrer automatiquement les commande dans hip
expect "hip[0/0]> "
send "re fluent file.msh"
expect"2002-2014"
send "wr hdf file"
expect"hip[1/1]> "
send "ex"
 
"bonjour.sh" 24L, 555C written

existe t'il une commande permettant d'entrer une commande au programme hip sans que je le fasse manuellement ?

merci beaucoup pour votre attention

cordialement

jan