Mac OS Xのsayコマンドを連続実行させる

凄まじくどうでもいい内容なのだが、Mac OS Xのsayコマンドを複数実行させる場合、以下のように()でグルーピングしてバックグラウンドですると行える。

(say xxx &)
Sponsored Links

つまり、数秒の間をあけて連続で喋らせるのであれば、以下のようにすればいい。

yes '(echo ソイヤソイヤ|say&);sleep 0.3'|head -500|sh

 

応用例は以下。
あまり聞いてると気が狂いそうになるので程々にしたほうが良いと思う。途中で音酔いして吐きそうになった。あと、あまり同時実行しすぎるとsayコマンドが反応しなくなる(OS再起動するまでsayコマンドが復旧しない)状態になる。

yes '(echo {オラ,無駄}|xargs -n1|gshuf -n1|eval echo "$(cat){,,,,,,,,,,,,,,}"|say&);sleep 0.3'|head -500|sh
yes "(say -v \? | awk '{print \$1}' | gshuf -n1 | xargs -I@ say -v @ oh yes oh yes &);sleep 0.1"|head -200|sh
yes '(((s=ソイヤ;h=ハイ;echo {{{いよぉ,はぁ}〜っ,}{$s,$h}{$s,$h,}{$s,$h,},{あ,こ,そ}らさっさ})|tr " " "\n")|gshuf -n1|say&);sleep 0.3'|head -200|sh &

 


Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。

*