実行方法について述べたいと思います。
前回、シェルスクリプトの作成について述べました。(こちら参照)
そちらでも少し述べましたが、シェルスクリプトの実行方法について
述べたいと思います。
Contents / 目次
実行方法は大きく3つ
シェルスクリプトの実行方法は大きく3つあります。
- ファイル名を実行
- sourceコマンドで.shファイルを引数に指定
- bashコマンドで.shファイルを引数に指定
それぞれについて述べていきます。
ファイル名を実行
方法としては、
- ファイル名.shのファイルのあるディレクトリに移動
- ./ファイル名.shを実行
./ファイル名.sh
注意事項としては、
・shebang(シェバン)がファイル名.shの行頭に記載されていること
#!/bin/bash (詳細はこちら)
・ファイル名.shの前に./を付けること
(検索PAHTにカレントディレクトリ内が含まれてないので./で指定する)
sourceコマンドで.shファイルを引数に指定
方法としては、
- ファイル名.shのファイルのあるディレクトリに移動
- source ファイル名.shを実行
source ファイル名.sh
sourceコードによる実行は、新しいシェルを開いて実行するのではなく、
使用しているシェルにそのまま.shの中に書かれているコマンド順々に
実行しています。
よって、shebang(シェバング)#!/bin/bashが行頭になくても、
作動します。もし書かれていても#によってコメントアウトされます。
ちなみにsourceコマンドと同じコマンドとして”.”が使えます。
. ファイル名.sh
bashコマンドで.shファイルを引数に指定
方法としては、
- ファイル名.shのファイルのあるディレクトリに移動
- bash ファイル名.shを実行
bash ファイル名.sh
bashコマンドでファイルを引数に指定します。
なので、こちらもshebang(シェバング)#!/bin/bashが
行頭になくても、作動します。こちらは1つ目のファイル名実行と似ており、
shebangでbashを指定するか、bashコマンドで実行するかの違いのみです。
感覚的には、この方法がわかりやすいかと思います。
終わりに
シェルファイルの実行方法について、紹介しました。
sourceコマンドは他の方法に比べて、形態がすこし異なり、
現使用のシェルにコマンドを1つずつ入れていくイメージで、
その他方法は、新規にシェルを起こして実行するイメージで
使い分けてもらえればと思います。
Have a nice Linux life!