Псевдоним для функции эха с espeak выполняется в фоновом режиме

Я хочу заменить нормальный echo функция в Ubuntu Bash с функцией, которая дополнительно использует espeak, чтобы сказать что-то каждый раз echo используется.

Я придумал псевдоним для моего .bashrc

alias ghostTalk='espeak -v +whisper -s 80 -p 100 "$(myFun)"& /bin/echo $1'

(в моей окончательной версии я бы заменил ghostTalk с echo)

Но это дает в качестве вывода:

~$ ghostTalk 123
[2] 5685
123
[1]   Done                    espeak -v +whisper -s 80 -p 100 "$(myFun)"

Как я могу избежать этого и иметь нормальный echo например, только вывод 123 пока говорят на заднем плане?

1 ответ

Решение

Фоновые уведомления могут быть подавлены с помощью двойного форка:

ghostTalk() {
  ( espeak -v +whisper -s 80 -p 100 "$(myFun)" & )
  builtin echo "$@"
}
Другие вопросы по тегам