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