在后台执行 espeak 的 echo 函数的别名

Alias for echo function with espeak executed in background

我想用 ubuntu bash 中的正常 echo 功能替换为每次使用 echo 时额外使用 espeak 说些什么的功能。

我想出了一个别名 .bashrc

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

(在我的最终版本中,我会将 ghostTalk 替换为 echo

但这给出了输出:

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

我怎样才能避免这种情况并获得正常的 echo 输出,例如只有 123 在后台说话时?

可以使用双叉来抑制后台通知:

ghostTalk() {
  ( espeak -v +whisper -s 80 -p 100 "$(myFun)" & )
  builtin echo "$@"
}