【はじめてのシェルスクリプト】シェルスクリプトの作成方法
シェルで実行するコマンドがまとまったもの。 拡張子として「.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!
これを設定することで、サーバ起動のたびに登録したコマンドが呼び出されるため、永久的にパスが有効になりました。