In realtà lavoro principalmente con Ruby, ma ora ho creato un file di script bash. Da questo file di script sto visualizzando i messaggi sullo schermo. Ecco il mio scenario.
ho usato aosd_cat modulo per la visualizzazione dei messaggi sullo schermo e l'ho fatto con successo. Per questo ho usato il loro documentazione .
Ecco il mio message.sh
file di 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
Dopo l'esecuzione, ho notato che i messaggi vengono visualizzati uno alla volta (messaggio_1 sta visualizzando prima poi message_2 e poi message_3).
Devo visualizzare tutti i messaggi allo stesso tempo. Per ottenere ciò penso di poter eseguire quei comandi in sottoshell / come sottoprocesso / in background (quindi non ha effetto su altri processi).
Nel rubino abbiamo comando di sistema che esegue il comando dato in una subshell. Come posso ottenere questo tipo di funzionalità nel file di script di bash?