cowsayとは、メッセージをつぶやくウシアスキーアートを生成するプログラムである[1]。ウシ以外にも様々な動物のアスキーアートが用意されており、動物を変えて出力することも可能である。また、関連するプログラムとして、cowthinkというものがあり、これは、cowsayのメッセージイメージとは違って会話のふきだしが思慮深いときのもの(丸の泡で示される状態)が表示される。コマンドを出力させたい文字列引数に与えて実行すると、以下のように出力される。

cowsay
作者 トニー・モンロー(Tony Monroe)
最新版
3.04 / 2016年6月25日 (7年前) (2016-06-25)
リポジトリ ウィキデータを編集
プログラミング
言語
Perl
対応OS クロスプラットフォーム
対応言語 英語
ライセンス Artistic License / GNU General Public License
公式サイト http://www.nog.net/~tony/warez/cowsay.shtml
テンプレートを表示
  _______________________ 
 < Typical cowsay output! >
  ----------------------- 
         \   ^__^
          \  (oo)\_______
             (__)\       )\/\
                 ||----w |
                 ||     ||

cowsay用に用意される.cowファイルがあり、これを利用すると「ウシ」の部分を変えたり、別種の「目」の形にするなどしてメッセージをカスタマイズすることができる[2]。時折IRCデスクトップスクリーンショットそしてソフトウェアのドキュメント中にも使用される例が見られる。このプログラムは多かれ少なかれ、ハッカー文化におけるジョークの意味合いがあり、しかしながら、広く長く使われている。2007年には様々なDebianパッケージを紹介するサイト、"Debian Package of the Day"にて取り上げられている[3]

cowsayはプログラミング言語Perlで作成されている。そして、それ自体UNIXのシステムタスクに容易に適応し得る。例えば、ユーザーのホームディレクトリがディスクフルになっただとか、新しいメールが届いた際にそれら通知と組み合わせて利用できる。加えて、CGIとの親和性も高い[4]

実行例 編集

UNIXコマンドfortuneは、パイプ経由でcowsayコマンドにメッセージを送れる:

baldur@baldur-desktop:~$ fortune | cowsay
 ________________________________________
/ You have Egyptian flu: you're going to \
\ be a mummy.                            /
 ----------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

そして、パラメータ(オプション)-fに引数tuxを与えて実行すると、ウシの代わりにLinuxのマスコット、タックス(Tux)が表示される:

baldur@baldur-desktop:~$ fortune | cowsay -f tux
 _________________________________________
/ You are only young once, but you can    \
\ stay immature indefinitely.             /
 -----------------------------------------
   \
    \
        .--.
       |o_o |
       |:_/ |
      //   \ \
     (|     | )
    /'\_   _/`\
    \___)=(___/

パラメータ 編集

オプション 用途
-n ワードラップ英語版(自動改行)を無効化。FIGletの内容を話す場合や、別のAAを埋め込んで表示する際に利用する。列幅は自動的に行幅の最大値に固定され、-W<オプションの値は無視される。
-W ふきだしの列幅を引数に指定できる。これは、monospace英語版のような固定幅フォントによる文字出力の場合都合がよい。デフォルトの値は40である。
-b スタートレックの“ボーグ”モード。ウシの目がooから{{{1}}}になる。
-d 死体”モード。目がXXになり、舌を突き出したようにUが口元から伸びている。
-g “貪欲”モード。目が$$になる。
-p “偏執狂(パラノイド)”モード。目が@@になる。
-s 酔っ払い”モード。目が充血している様子の**になり、舌を突き出したようにUが口元から伸びている。
-t “お疲れ”モード。目が--になる。
-w 興奮”モード。目がOOとなり大きく見開く。
-y “若返り”モード。目が..となり幾分小さくなる。
-e eye_string ウシの目に使う文字列を手動で指定する。例えば、アジア圏でよく見られる顔文字を使用し、cowsay -e ^^とするなど。[注釈 1]
-T tongue_string ウシの舌に使う文字列を手動で指定する。例えば、cowsay -T \(\)というように丸括弧の組を利用できる(\ はエスケープ文字)。[注釈 1]
-f cowfile 代わりのAAとなる.cowファイルを指定する。ファイルパスは、絶対パス、環境変数COWPATHに指定されるディレクトリからの相対パス双方が利用可能。
-l メッセージを表示せず、COWPATHディレクトリにある、利用可能なcowファイルをリストアップする。

全てのキャラクタ 編集

Linux/Unix系システムでは、次のコマンドを実行することで、利用可能な全てのcowsayのキャラクタを一覧表示できる。

cowsay -l | grep -v "^Cow" | sed -e "s% %\n%g" | sed -e "s%\(.*\)%cowsay -f \1 Now I am a \1%" | sh | less

脚注 編集

注釈 編集

  1. ^ a b パラメータは入力値の先頭2バイトのみしか受け付けないため、表記可能な基本ラテン文字(より正確には、C0 Controls and Basic Latinの中で、Unicode符号点U+0021–U+007Eの範囲内にある文字)以外では正しく表示できない可能性がある。一部定義済みのcowフェイスは、-e-Tの任意の値が上書きされる。

出典 編集

  1. ^ Mike Orr (2001年6月). “cowsay--ASCII Art for Your Screen”. Linux Gazette英語版. 2011年2月24日閲覧。
  2. ^ Richard Stallman for cowsay”. crunchbang.org (2007年10月5日). 2011年2月24日閲覧。rmsのAA。
  3. ^ cowsay: a configurable talking and thinking cow”. Debian Package of the Day (インターネットアーカイブによるホスト) (2007年10月28日). 2011年2月24日閲覧。
  4. ^ Carla Schroder (2008年6月30日). “Tip of the Trade: Linux Easter Egg Fun”. www.serverwatch.com. 2011年2月24日閲覧。

外部リンク 編集