ひとり勉強ログ

ITエンジニアの勉強したことメモ

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

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

サンプルとして以下のコマンドを使用。 [bash] $ free - m [/bash]

[bash] total used free shared buff/cache available Mem: 7887336 1353912 481260 402312 6052164 5806068 Swap: 3932156 0 3932156 [/bash]

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

作成場所は「/home/minecraft/」。 ※ユーザー名は「minecraft」。 [bash] $ vim mem.sh [/bash]

[bash]

!/bin/bash

free - m [/bash] 「:wq」で保存して閉じる。

実行権限を与える

作製した「mem.sh」ファイルに実行権限を付与する。 [bash] $ chmod +x mem.sh [/bash] 実行権限を付与することでシェルスクリプトが実行可能となる。

以下のように実行権限が付与されていることが確認できる。 [bash] -rwxrwxr-x 1 minecraft minecraft 20 6月 28 09:21 mem.sh [/bash]

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

実行する。 [bash] $ ./mem.sh [/bash]

実行結果。 [bash] total used free shared buff/cache available Mem: 7702 1316 470 392 5915 5675 Swap: 3839 0 3839 [/bash]

先頭に「./」をつけないとエラーになる。 [bash] $ mem.sh -bash: mem.sh: コマンドが見つかりません [/bash]

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

サーチパスの確認方法 [bash] $ echo $PATH /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin [/bash]

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

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

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

「~/bin」ディレクトリを作成 [bash] $ mkdir ~/bin [/bash]

サーチパスに「~/bin」を追加。 「~/.bash_profile」ファイルを開き、 [bash] vi ~/.bash_profile [/bash] 最後の行に以下のように追記する。 [bash] PATH="$PATH:~/bin" [/bash] 「:wq」で保存して閉じる。

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

新しいサーチパスの確認 [bash] $ echo $PATH /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:~/bin [/bash] これで「~/bin」に置いたシェルスクリプトが実行可能となる。

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

「mem.sh」を実行する。 [bash] $ mem.sh [/bash]

[bash] total used free shared buff/cache available Mem: 7702 1093 552 723 6056 5567 Swap: 3839 0 3839 [/bash]