6
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?

More than 1 year has passed since last update.

コマンド間違えたらポケモンに叱ってもらうってのは、どうでしょう?

Last updated at Posted at 2018-02-16

cowsayの類似コマンドで、pokemonsayというのをご存知だろうか?

ポケモンがターミナル上で、しゃべってくれるジョークコマンドだ。

第一ポケモン世代の私は初代ゲームボーイで、グリーン、レッド、ブルー、ピカチュウVerをすべてやり込み、ひたすらポケモン漬けの毎日を送っていたなぁと、このコマンドに出会って思い出した。

表示は荒いが本当にポケモンが出現する。

https://gyazo.com/bc491ad9ce2d9aa2e4021bb8215fc92b

ミュウツーがいたのに気付いただろうか?実はミュウも出現する!
オプションを付けなければ、151匹のポケモンがコマンドを打つたびにランダムに出現する。
これを使用し、コマンドラインでコマンドを間違えた際に、ポケモンに叱ってもらう設定をしたいと思う。

image.png

1.インストール

まずは、手順通りインストールする。
今回のインストール環境は、OracleLinux9.2を使用する。インストールコマンドは環境に合わせて読み替えよう。

rootユーザへ切り替え

su - 

dnfリポジトリにないパッケージもインストールするので、EPELリポジトリのインストール

dnf install epel-release

pokemonsayを利用する為に必要な以下のパッケージをインストール

dnf install fortune-mod.x86_64

dnf install cowsay

pokemonsayはGitHubからクローンしてくるので、gitもインストール

dnf install git

インストール完了後はrootユーザを抜けて、Homeディレクトリに移動

exit

cd

pokemonsayの媒体をクローン

git clone http://github.com/possatti/pokemonsay

インストールシェルを実行

cd pokemonsay

./install.sh

2.テスト

インストールが終わったらコマンドが使用できるか試してみよう。
ちなみにオプションをつけると、出現するポケモンを指定できる。
書式:pokemonsay [コメント] [オプション]

pokemonsay test_commando -p 'Pikachu'
image.png

pokemonsay test_commando -p 'Mewtwo'
image.png

3.設定

ユーザーのホームディレクトリにある.bashrcファイルにコマンドを間違えた際に、pokemonsayを使用し、叱ってくれるように設定する。

.bashrc
#pokemonsay TestCommand
function command_not_found_handle(){
  if [ -e /home/ユーザー名/bin/pokemonsay ];then
      pokemonsay  'pi!?piikaa,pikapika,pika!!!' -p Pikachu
  fi
 echo "略(はぁ!?、「$1」なんて、勉強しないでポケモンやってたの丸分かりだから。しっかりして(;゚Д゚)ノ)"
  return 127
}

test文内の条件にある「ユーザー名」はpokemonsayをクローンした自身のユーザ名に置き換える。
また、echo以降のコメントやpokemonsayのコメント・オプションは、自由に変更して自分好みの内容に変更してみよう。

設定できたら以下を入力。
. .bashrc

これで完了。では、試してみよう!
image.png

ぴ、ぴかちゅ~!!!!

6
3
1

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
6
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?