J'ai besoin d'un petit peu d'aide pour un script shell.
Plus haut, j'ai posté un script que je voulais lancé automatiquement, vu que je ne savais pas comment faire
j'ai décidé de changer de méthode .
Tout d'abord, je vais vous expliquer en quoi consiste le script.
Je suis malvoyant mais je ne parviens pas à faire marcher Mbrola et Orca ensemble (j'ai suivi des tutos mais cela ne marche pas).
J'ai donc décidé de créer un script shell qui me dit le nom du fichier/dossier sur lequel je me trouve.
Pour l'instant, je suis obligé de le lancer par un raccourci.
Voici ce que j'aimerai mettre en place :
je selectionnne un fichier "toto.txt" , dont on attribue le nom à la variable A
le script me lit toto.txt
Ensuite je change d'élément au clavier, je passe sur tutu.txt, dont le nom est attribué à la variable B.
(pour que le script soit encore actif,pendant le changement d'élément, j'introduis une commande sleep)
Ensuite, on utilise une boucle if compare A et B
si A différent de B alors on lui fait lire tutu.txt.
sinon on arrete
#!/bin/bash
# PLACE=`echo ${0##*/}`
###### définition du premier élément à lire ######
A1=`echo $(basename "$1")`
###### définition du type de voix à utiliser ######
VOIX=/opt/mbrola/fr4/fr4
TYPE=mb/mb-fr4
###### test pour savoir si la lecture est en cours ######
if [ ! -z $(ps -A | grep mbrola | awk '{ print $1 }' ) ]; then
kill $(ps -A | grep mbrola | awk '{ print $1 }' ) && sleep 2
fi
###### lecture du nom du premier élément ######
espeak -v $TYPE -s 160 -p 40 "$A1" | mbrola $VOIX - -.au | aplay
###### pose pour changer d'élément ######
sleep 2
###### définition du second élément à lire ######
A2=`echo $(basename "$1")`
###### mise en place de la boucle if ######
if [ "$A1" = "$A2" ] then exit
else
if [ ! -z $(ps -A | grep mbrola | awk '{ print $1 }' ) ]; then
kill $(ps -A | grep mbrola | awk '{ print $1 }' ) && sleep 2
fi
espeak -v $TYPE -s 160 -p 40 "$A2" | mbrola $VOIX - -.au | aplay
fi
done
Je n'arrive pas à mettre en place le script et je me demande si le script en question va prendre en compte le changement d'élément.
Peut être serait-il mieux d'utiliser un second script?