ターミナルのイースターエッグコマンド

macOSやLinuxのターミナルにおいてはイースターエッグとも言えるジョークコマンドが密かに存在する。

ここではmacOSのターミナルを例にいくつかのジョークコマンドを紹介する。

ジョーク・イースターエッグターミナルコマンド

アスキーアート

下記コマンドを実行すると「banner」の後ろにタイプしたテキストがアスキーアートとなる。

banner Hello

アスキーアートをテキストファイルとして出力

下記コマンドでアスキーアートをテキストファイルとして出力することもできる。

banner Hello | open -fe

ただしテキストファイルとしてエクスポートした場合はフォーマットによってはアスキーアートが崩れる。

ちなみにターミナル、テキストファイルへの出力共に日本語を含む2バイト文字のアスキーアートは作れない。

アスキーアートの幅を指定する

bannerの後ろに-wでwidth(幅)を指定することもできる。

banner -w 50 Hello

アスキーアートの幅を指定してテキストファイルとして出力

アスキーアートの幅を指定し、更にそれをテキストファイルとして出力することもできる。

banner -w 30 Hello | open -fe

テキストを読み上げる

下記コマンドで対象のテキストを読み上げさせることができる。

say Hello

テキストの読み上げは日本語も可能だ。

なお、この音声はデフォルトではSiriの音声とは異なる他、「Hello」など、英語を指定しても日本語アクセント、つまり「ハロー」のような発音になる。

テキスト読み上げボイスを変更する

システム環境設定の「アクセシビリティ」>「スピーチ」のボイス名を参考にして下記のようなコマンドでボイス名を指定すればそのボイス名でテキストを読み上げさせることができる。

say -v Karen 'Hello'

なお、場合によっては「スピーチ」の設定でチェックを入れて対象のボイスをダウンロードする必要がある他、ダウンロードしたとしてもシステム環境設定にある全てのボイスが再生できるわけではない。

また、他言語のボイスでは別の言語のテキストは再生できない場合もある。

例えば下記のようなコマンドで日本語を読み上げさせることはできない。

say -v Karen 'こんにちは'

serial experiments lainの音声を再現する

1998年のカルト的アニメ「serial experiments lain」のタイトルの機械音声は当時のMacの読み上げ機能が利用されている。

アクセシビリティの「スピーチ」設定で「Whisper」というボイスをダウンロードすればlainのあの不気味な音声を再現可能だ。

Whisperボイスをダウンロードしたら下記のようなコマンドを実行してみよう。

say -v Whisper 'weird layer zero one'

lainファンなら思わずニヤリとさせられる音声が再生される。

Parrot Live(オウムダンス)

下記コマンドを実行するとアスキーアートで描かれたカラフルなオウム(Party Parrot)がダンスする。

curl parrot.live

アニメーションを止めるにはControl+Cキーを押す。

由来については下記を参照。

参考 Party Parrot とは 〜イカれたオウムの歴史を紐解く〜Qiita

マトリックス風の流れる数字

下記コマンドで映画「マトリックス」風の緑色の数字が流れるアニメーションを再現できる(ある程度の負荷がかかるので注意)。

LC_ALL=C tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"

Control+Cキーでアニメーションを止める。

まとめ

だからどうした、という感じだがターミナルで利用できるイースターエッグ的コマンドを紹介した。

なお、新たにイースターエッグ的コマンドを発見したら本記事は随時更新する。