#01 シェルスクリプトの作成、配置

メモリの使用状況を確認するコマンド

サンプルとして以下のコマンドを使用。

$ free - m
              total        used        free      shared  buff/cache   available
Mem:        7887336     1353912      481260      402312     6052164     5806068
Swap:       3932156           0     3932156

Vimでシェルスクリプトを作成する

作成場所は「/home/minecraft/」。
※ユーザー名は「minecraft」。

$ vim mem.sh
#!/bin/bash
free - m

「:wq」で保存して閉じる。

実行権限を与える

作製した「mem.sh」ファイルに実行権限を付与する。

$ chmod +x mem.sh

実行権限を付与することでシェルスクリプトが実行可能となる。

以下のように実行権限が付与されていることが確認できる。

-rwxrwxr-x 1 minecraft minecraft 20  6月 28 09:21 mem.sh

シェルスクリプトを実行する

実行する。

$ ./mem.sh

実行結果。

              total        used        free      shared  buff/cache   available
Mem:           7702        1316         470         392        5915        5675
Swap:          3839           0        3839

先頭に「./」をつけないとエラーになる。

$ mem.sh
-bash: mem.sh: コマンドが見つかりません

実行されない原因は、サーチパスにカレントディレクトリが登録されていないため。

サーチパスの確認方法

$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin

以上のサーチパスにないファイルを実行するためには、相対パス又は絶対パスでファイルを指定する必要がある。

シェルスクリプト置き場を作る

シェルスクリプトを、通常のコマンドと同様にファイル名だけで実行可能にするための設定をする。
「~/bin」というディレクトリがシェルスクリプト置き場としてよく使用される。
「~/bin」ディレクトリを作成し、サーチパスに追加する。

「~/bin」ディレクトリを作成

$ mkdir ~/bin

サーチパスに「~/bin」を追加。
「~/.bash_profile」ファイルを開き、

vi ~/.bash_profile

最後の行に以下のように追記する。

PATH="$PATH:~/bin"

「:wq」で保存して閉じる。

sourceコマンドで「~/.bash_profile」を読み込む。

$ source ~/.bash_profile

新しいサーチパスの確認

$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:~/bin

これで「~/bin」に置いたシェルスクリプトが実行可能となる。

「mem.sh」ファイルを「~/bin」ディレクトリへ移動。

$ mv ./mem.sh ~/bin/

「mem.sh」を実行する。

$ mem.sh
              total        used        free      shared  buff/cache   available
Mem:           7702        1093         552         723        6056        5567
Swap:          3839           0        3839

シェルスクリプト の一覧