ターミナルで使うコマンドを自作する方法

シェルコマンド

〜lsをksと打ち間違えてしまう人へ〜

概要

ターミナルで自分の欲しいコマンドがない時、自作できたらいいですよね。
なのでコマンド自作について、1つ作成して流れをご説明します。

今回は$ksコマンドを自作します。

$lsを実行しようとした時、$ksと打ち間違えてしまうことありませんか?
そこで、コマンドを間違えた時に「違うよ、$lsじゃないですか?」と注意を促してもらいたいと思います。

方法

  1. コマンド作成
  2. パスを通す
  3. シンボリックリンクを作成

※Mac(OS ver. 13.2.1)を使用。

$ls と間違えて $ks を実行した時、
「I’m not a “ks”. You’re the “KS”!!」(俺は”カス”じゃない。お前が”カス”だ!!)とお返事をもらうように設定。
ついでに「Did you mean “ls”?」(”ls “のことですか?)と教えてあげる。

1. コマンドファイル作成

今回はユーザーのホームディレクトリ配下に作成。
以降の手順もホームディレクトリのパスを基準に作成しています。

$ cd ~/
$ mkdir command
$ cd command
$ touch ks

お返事シェルスクリプトを作成

$ vi ks

〜以下を記述〜
echo "I'm not a \\"ks\\". You're the \\"KS\\"!!"
echo "Did you mean \\"ls\\"?"

2. パスを通す

$ cd ~/
$ vi .zshrc
〜以下を追記〜
export PATH=$HOME/command:$PATH

$ echo $PATH // パスが追加されていることを確認。/Users/ユーザー名/command が追加されているはず

.zshrcの置き場所は、ユーザーのホームディレクトリにありました。
一般的にも個々のユーザーのホームディレクトリに配置されるようです。

3. シンボリックリンクを作成

$ksコマンドを認識させます。

$ sudo ln -s ~/command/ks /usr/local/bin
$ ls -la /usr/local/bin    // シンボリックリンク確認。ks -> /Users/ユーザー名/command/ks が登録されているはず

$ksコマンドの権限を777に変更
$ksコマンドに権限を与えてユーザーの使用を許可します。

$ chmod 777 ~/command/ks

確認として、$lsと$ksを間違えて怒られてみましょう!

$ ks

〜以下のように出力されたらOK!〜
"I'm not a "ks". You're the "KS"!!"
Did you mean "ls"?

終わりに

自作コマンドの作り方について、例を交えて書き連ねてみました。
いつも頑張ってくれているPCちゃんをカス呼ばわりするなんて、PCちゃんから怒られて当然ですよね。

参考にした記事

ターミナルで使える自作コマンドを作る - Qiita
この記事についてこの記事では、ターミナルで使える自作コマンドを一から作って、使えるようにするための手順を紹介します。使用する環境・バージョンOS : MacOS Mojave ver 10.1…
【Mac】重複したPATHを削除する【zsh】 - Qiita
zshrcでPATHを通したい仕事用のメインPCをWindowsからMacに切り替えた。どうやらMacではプログラムを走らせようとすると何かとPATHを通すように要求されるらしい。PATHを通…

→ $source ~/.zshrc でPATHが上書きでなく、追加してしまうので、一回クリアする方法

コメント

タイトルとURLをコピーしました