En fait, je travaille principalement avec Ruby, mais maintenant j'ai créé un fichier bash script. A partir de ce fichier script j'affiche les messages à l'écran. Voici mon scénario.
J'ai utilisé aosd_cat pour afficher les messages à l'écran et je l'ai fait avec succès. Pour cela, j'ai utilisé leur documentation .
Voici mon message.sh
Fichier script :
#!/bin/bash
function message_1(){
if [ condition ]
echo 'message -1' | DISPLAY=:0 aosd_cat -u 10000 -e 2 -t 2 -R 'Green' -n 'Arial Bold 20' -p 0 -x 10 -y 60
else
echo 'message -4' | DISPLAY=:0 aosd_cat -u 10000 -e 2 -t 2 -R 'Green' -n 'Arial Bold 20' -p 0 -x 10 -y 60
fi
}
function message_2(){
echo 'message -2' | DISPLAY=:0 aosd_cat -u 10000 -e 2 -t 2 -R 'Green' -n 'Arial Bold 20' -p 0 -x 10 -y 60
}
function message_3(){
echo 'message -3' | DISPLAY=:0 aosd_cat -u 10000 -e 2 -t 2 -R 'Green' -n 'Arial Bold 20' -p 0 -x 10 -y 60
}
# As I have to display messages continuously
while true
do
message_1
message_2
message_3
done
Après l'exécution, je constate que les messages s'affichent un par un (le message_1 s'affiche en premier, puis le message_2 et enfin le message_3).
Je dois afficher tous les messages en même temps. Pour y parvenir, je pense que je peux exécuter ces commandes dans un sous-shell/sous-processus/en arrière-plan (afin de ne pas affecter les autres processus).
En ruby, nous avons commande système qui exécute la commande donnée dans un sous-shell. Comment puis-je réaliser ce type de fonctionnalité dans le fichier bash script ?