Bashスクリプト機能でspd-sayを使用する

Bashスクリプト機能でspd-sayを使用する

私はこれがかなり基本的なものであると確信していますが、それを理解することはできません。

私のスクリプト:

#!/bin/bash
sez ()
{
  echo $1
  spd-say "$1"
}
sez "does this work"
sez "this does work"

私が達成したいのは、関数内でspd-sayを使用してコンピュータに私に話すことです。

私の機能のエコー部分が動作します。予期した順序で入力した2行のテキストを出力します。しかし、spd-say部分はそうではありません。最後の行だけを言います。これは、2番目のコマンドが最初のコマンドの出力を同じ出力と並列に実行しようとするため、「上書きする」ためであると仮定します。 spd-say コマンドなどの機能内で sez コマンドの終わり、次の行に ;wait、&& など、さまざまな項目を追加しようとしましたが、試したことは役に立ちませんでした。

私は何が間違っていましたか?

ベストアンサー1

同様の問題があり、解決策を見つけました。私はspd-sayを使わずにspeakを直接使用しました。

おすすめ記事