24
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ネタ記事です。

好きな惣菜発表ドラゴン、かわいいですよね。自分のterminalでも表示したい!という人も多いのではないでしょうか。
よく考えたら、Unixにはcowsayコマンドという近しいものがあるではないですか。

cowsayコマンド

cowsayコマンドとは、牛のアスキーアート(AA)に好きなことを喋らせることができるUnixコマンドです。
fortuneコマンドと組み合わせて、格言を言わせる使い方をよく見ますよね。

標準では、以下のような牛を表示してくれます。
スクリーンショット 2024-03-28 22.09.36.png

表示されるAAには種類があり、share/cowsディレクトリに表示できるAAが.cowファイルで保存されています。
自作のAAを表示したければ、cowsディレクトリ下に.cowという拡張子でAAを追加すれば良いのです。

好きな惣菜発表cowsayの作り方

まず、好きな惣菜発表ドラゴンのAAを作ります。ここが一番大変です。
筆者が作ったAAを貼っておきますが、もっと上手い人は自分で作るといいでしょう。

          <<
     ___( ^     )
     ___         )____
        | |      _ ] _ \\
        | |_|    )
        | |_|     \\ 
        ""(   ) _ _ ^~
        _ ( _) 

作成する上で注意しないといけないのは、AAにエスケープ記号である「\」が含まれる場合、ひょうじされないことです。「\」を使いたい場合は二つ重ねて「\」としてエスケープをキャンセルしましょう。

AAを作ったら.cowファイルを作成します。ここで、cowの.cowファイルはどうなっているのか見てみましょう。
スクリーンショット 2024-03-28 22.53.12.png

レイアウトが崩れていますが、牛のAAだけでなく

$the_cow = <<"EOC";

なども書かれています。これは、perl の$the_cow変数にAAを代入している処理です。この部分も踏襲して、

$the_cow = <<EOC;
     $thoughts
      $thoughts
          <<
     ___( ^     )
     ___         )____
        | |      _ ] _ \\
        | |_|    )
        | |_|     \\ 
        ""(   ) _ _ ^~
        _ ( _) 
EOC

というようなファイルを作成し、sukina_souzai_happyou_dragon.cowとかの名前でcowsディレクトリの下に追加します。

表示方法

cowsayに-fオプションをつけて、保存したファイル名で呼び出せば良いです。

$ cowsay -f sukina_souzai_happyou_dragon "からあげ"

スクリーンショット 2024-03-28 22.36.53.png

好き好き大好き〜

まとめ

cowsayコマンドは標準入力を受け取って表示するので、別のコマンドと併用すればランダムな好きな惣菜を言わせることもできるでしょう。Unixコマンドって楽しいですね。

参考記事

好きな惣菜発表ドラゴンのドラゴン
cowsayで現場猫にヨシ!されたい件

24
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?