#シェルスクリプトとは
シェルによって解釈・実行される一連の処理を記述したスクリプト。狭義では、Unixシェルで用いられるスクリプト言語を指します。
「スクリプト(script)」は「台本」という意味で、コンピュータに実行させたい処理を記述してコンピュータを動かせます。
この台本をテキストデータで用意したものがシェルスクリプトです。コマンド・インタプリタとも呼ばれています。
#シェルスクリプトの使い所
- 定期作業の自動化
- 作業の記録
- 複数コマンドをまとめて処理
#シバン
#!/bin/bash
echo "Hello World !"
exit 0
先頭に指定した #! で始まる「シバン」と呼ばれる文字列は、スクリプトを実行するためのインタプリタを指定しています。つまり、「このシェルスクリプトは bash によって解釈・実行されます」と、宣言するためのものです。
これは決まり文句のようなものなので、必ず 1行目に指定しなければなりません。
#シェルの実行(ホームディレクトリに作成したhw.shを実行する場合)
主に3通りの方法があります。
-
bashコマンドで実行
bash コマンドに引数として実行するシェルスクリプトのファイル名を指定する方法。
→この場合、ファイル名だけを指定して実行できるのは、そのファイルがカレントディレクトリにある場合のみ。ファイルが別のディレクトリにある場合は、絶対パスもしくは相対パスで指定しなければなりません。bash /home/[ユーザー名]/hw.sh
-
コマンドとして直接実行
シェルスクリプトを (ls や cat のように) コマンドとして直接実行するためには、主に以下の 2つの条件が必要。
1.ファイルのパーミッションに実行権が付与されていること
(ls -lで実行権の確認→ファイル所有者にxがなければchmodコマンドで付与する必要あり→chmod +x ファイル名(実行権の付与))
2.シェルがファイルの場所を特定できること
/home/[ユーザー名]/./hw.sh
- PATHを通して実行
export PATH=$PATH: /home/[ユーザー名]/
cd /home
bash hw.sh
export PATH=$PATH: /home/[ユーザー名]/
cd /home
bash hw.sh
通常、プログラムを実行する際には、絶対パスを指定して実行する必要があります。
ここで、絶対パスではなく「PATHを通す」ことにより、そのPATH直下に存在するプログラムを、プログラム名だけで実行できるようになるのです。
しかし、OSを再起動すると、上記コマンドで設定したPATHの内容は消えてしまいます。永続的にPATHを設定したい場合は、対象ユーザーのホームディレクトリ直下にある「.bash_profile」と呼ばれるファイルに追記することが一般的です。
参照:https://udemy.benesse.co.jp/development/system/shellscript.html