На самом деле я в основном работаю с Ruby, но сейчас я создал файл сценария bash. Из этого файла сценария я отображаю сообщения на экране. Вот мой сценарий.
Я использовал модуль aosd_cat для отображения сообщений на экране, и я сделал это успешно. Для этого я использовал их документацию .
Вот мой файл сценария message.sh
:
#!/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
После выполнения я получаю, что сообщения отображаются по одному (сначала отображается message_1, затем message_2, а затем message_3).
Я должен отобразить все сообщения одновременно. Я думаю, что для достижения этой цели я могу выполнять эти команды в subshell/ как подпроцесс / в фоновом режиме (чтобы это не влияло на другие процессы).
В ruby у нас есть системная команда, которая выполняет данную команду в подоболочке. Как я могу достичь этого типа функциональности в файле сценария bash?