14
6

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 3 years have passed since last update.

Bashでエイリアスを作ってくれる湯婆婆コマンドを実装してみた

Last updated at Posted at 2020-11-07

Javaで湯婆婆を実装してみる - Qiita のn番煎じネタですが、この記事が流行るより前に自分がこんなツイートをしていたのを思い出し、じゃあ実装してみるかと思った次第です。

では早速コード。

yubaba.sh
#!/usr/bin/bash

echo "契約書だよ。そこに名前を書きな。"
read name

if [ ${#name} -le 0 ]; then
    echo "名前を書けと言ったのが聞こえなかったかい!帰りな!"
    return
fi

echo "フン。$nameというのかい。贅沢な名だねぇ"
alias "${name:0:1}"="\$name"
alias "$name"="yubaba_removed.sh"
echo "今からおまえの名前は${name:0:1}だ。いいかい、${name:0:1}だよ。分かったら返事をするんだ、${name:0:1}!!"

このファイルは任意の場所においてください。

yubaba_removed.sh
#!/usr/bin/bash

echo "(そのコマンドは湯婆婆に名を奪われたので使えません。)"

こっちのコマンドは パスが通った場所 に置いてください。(本記事では ~/bin/yubaba_removed.sh とします。)

そして両方に実行権限を付けます。

bash
$ chmod 755 yubaba.sh
$ chmod 755 ~/bin/yubaba_removed.sh

では早速実行!コマンド名を渡すと頭文字1字にしてくれます。

ただし、エイリアスコマンドの効果を継続させるために、 source コマンドが必要です。

bash
$ source ./yubaba.sh
契約書だよ。そこに名前を書きな。
pwd
フン。pwdというのかい。贅沢な名だねぇ
今からおまえの名前はpだ。いいかい、pだよ。分かったら返事をするんだ、p!!
$ p
/home/username/Desktop/yubaba
$ pwd
(そのコマンドは湯婆婆に名を奪われたので使えません。)
$ 

もとに戻したいならシェルを閉じるか unalias コマンドを使いましょう。

Discord Botで湯婆婆を実装してみる じゃないですけどやっぱ実際に効果を持ったプログラムだと湯婆婆味が増しますね。

ここまで読んでいただきありがとうございました!m(_ _)m

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?