LinuxShellIT

【はじめてのシェルスクリプト】シェルスクリプトの作成方法

シェルで実行するコマンドがまとまったもの。 拡張子として「.sh」を付けています。 シェルスクリプトとシェルは厳密にいうと違うものですが、この記事ではシェルと呼ぶことにします。

今回作成するシェルの紹介

ls -la というコマンドを知っていますか? ファイルの情報を権限なども含めみることができるのですが、特定のファイルの情報が見たいときには、

ls -la | grep "検索ファイル名"

と打たねばなりません。 そのため今回は、

lg "検索ファイル名"

で実行できるように設定したいと思います。

シェルの置き場を作る

置き場所はホームディレクトリの下のbinディレクトリに格納するといいようです。 まず、ホームディレクトリに移動

cd ~

binディレクトリを作成

sudo mkdir bin

作成されたのを確認しましょう

ls

シェルを作成する

まず先ほど作成したbinへ移動します

cd bin

lgファイルを作成します

vi lg

 キーで入力モードに切り替えます

ls -la | grep $1

と入力しましょう。 $1は第一引数の受け取り場所です。

キーで入力モードを終了します その後、本来であれば

:wq

で保存して終了なのですが、このファイルには権限を与えていないため、保存ができないと思います。 なので、

:w !sudo tee %

と入力し、強制保存をします。 その後、

:q!

で強制終了します。 これでシェルの作成ができました。

パスを通す

このままでは、/home/binにいる状態でしかシェルを呼べません。 そのため、どこにいても呼び出せるように設定します。

export PATH=$PATH:/home/bin

これでどこにいても呼び出せる状態になりました。 しかし、今設定したパスは、サーバを再起動すると消えてしまいます。 これを保存するためには、ホームディレクトリにある「.bash_profile」に先ほどのコマンドを再度入力します。

export PATH=$PATH:/home/bin

もし、ファイルがない場合は作成しましょう

vi .bash_profile

そして強制保存

:w !sudo tee %

強制退出

:q!

これを設定することで、サーバ起動のたびに登録したコマンドが呼び出されるため、永久的にパスが有効になりました。