※この記事はUdon Advent Calendar 2024 - Adventarの13日目の記事です。
はじめに
マジでごめんなさい。今日もギリギリの投稿になりました。書き溜めておくべきだった、、、
では気を取り直して、今日はUbuntuサーバで独自コマンドを定義する方法の覚え書きをしていこうかなと思います。
サーバをいじっていると、複数のよく使う操作をまとめて一つのコマンドとしたいときがあります。そのようなとき、自分でコマンドを定義することができます。
独自コマンドの作り方
独自コマンドの作り方にはいくつかあります。状況に応じて適した方法を選んでいくこととなります。
シェルスクリプトで作る
もっともよく使う方法です。
既存のコマンドを組み合わせることによって、新しいコマンドを作成することができます。長くて覚えづらいコマンドなどはわかりやすい名前にしておくことができます。
例えば、現在実行されているプロセスのうち、Pythonに関するものを表示するコマンドは以下のように書くことができます。
#!/bin/sh
ps -ef | grep .py
引数を指定することもできますが、ここでは割愛します。別の記事で紹介できたらいいかなと思います。
Cなどで作る
Cなどでプログラミングを行い、実行形式を作成してからそれをコマンドとして呼び出す方法です。
Pythonなど、コンパイルしない言語の場合は「Pythonファイルを実行する」シェルスクリプトを組んであげればよいです。
この辺も別の記事にまとめたいです。ネタが尽きない。
具体的な方法
/usr/local/bin
にスクリプトを配置する
元々パスが通っているディレクトリにスクリプトを配置する方法です。
サーバの共通部分に配置するので、ユーザ同士で共有したいコマンドを定義することができます。
sudo
権限が必要です。[your_command]
には自分で定義したコマンド名を入れてください。
cd /usr/local/bin
sudo vim [your_command]
sudo chmod 755 [your_command]
最後に実行権限を与えておくことを忘れないようにします(sudo
が必要なコマンドならこの限りではない)。これですぐにコマンドを呼び出すことができます。
ここに生のスクリプトを置きたくない場合は、別の場所に作った後シンボリックリンクを張ることもできます。自作コマンドを作った場所で以下のコマンドを実行します。
sudo ln -s [your_command] /usr/local/bin/[your_command]
もちろん、元ファイルに実行権限が必要です。
スクリプトがあるディレクトリをパスに追加する
スクリプトがあるディレクトリをパスに追加する方法です。この設定はユーザごとに行われるものなので、自分だけが使いたいコマンドを定義することができます。
echo 'export PATH=$PATH:/path/to/your/script' >> ~/.profile
source ~/.profile
>>
を使うとファイルの末尾に追記することができます。
.profile
はログインシェルが起動されたときに読み込まれるファイルです。上記の設定を反映したい場合はログインしなおすか、以下のコマンドを実行します。
source ~/.profile
これで自作コマンドを呼び出すことができるようになります。
ちなみに、.bashrc
に書く方法もあります。
まとめ
とりあえず簡単なところだけをまとめてみました。ほかにもアライアスを設定するなどいろいろな方法が存在しています。
では今日はここまでになります。また明日の記事でお会いしましょう。