Linuxに独自コマンドを作成する!

LinuxペンギンLinux
この記事は約3分で読めます。

結論

コマンドをusr/local/binに追加して、実行権限をそのコマンドに与える。

詳細説明

コマンドをパスに追加

/usr/local/bin/hoge

▼コマンドパスのあれこれ

/bin: シングルユーザモードでも利用できるコマンド

/usr/bin: パッケージ管理システムによって、システムに管理されるコマンドやプログラムを置く

/usr/local/bin: シングルユーザモードで利用しない, パッケージ管理システムによってシステムに管理されないコマンドを置く

※よって、/usr/local/binにコマンドを作成する。

  • /usr/local/bin/hogeの中身
#!/bin/bash
echo `date` >> $HOME/hoge_command.txt

現在日時を表示するコマンド2025/01/23をリダイレクトを使って、ホームディレクトリ直下へ追記する。

実行権限を与える

  • 実行権限を与えることによってコマンドを実行可能状態にする
chmod +x /usr/local/bin/hoge

コマンドを実行する

hoge

確認

  • ホームディレクトリへ移動する
cd
または
cd ~
  • 下記コマンドでリアルタイム監視
tail -f hoge_command.txt
  • コマンドプロンプトをもう1つ起動する
  • コマンドを実行する
hoge
  • tail -fコマンドで実行したプロンプトを開いて、以下のようにコマンドを実行する度に表示されればok。(tail -f はforegroundジョブなので、停止したい場合はCtrl + c)
Thu 11 May 2023 01:33:10 AM UTC
Thu 11 May 2023 01:33:10 AM UTC
Thu 11 May 2023 01:33:11 AM UTC
ぺんちゃん
ぺんちゃん

Ctrl + cはkillコマンドのSIGで言うと、INT(2)にあたります。

あまり、良い停止方法ではないので習慣づけないようにしてね。

まあ、めんどいから結構やっちゃうけどな!!!

ちなみに…

デフォルトのシステムパスにコマンドを作成したくない場合のコマンドの実行方法。

  • システムパスを確認
echo $PATH
> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
  • 例えば、ホームディレクトリにコマンドを作成する
cd
または
cd ~

ホームディレクトリはシステムのデフォルトパスには含まれていない。

  • コマンド作成
vi hoge

ファイルの内容は上述と同じにする。

・コマンドを実行する

. hoge
または
source hoge

コメント