Follow twitter

Ubuntu Linux shell script 実行

今回は、Ubuntu Linuxでshell script シェルスクリプトの
実行方法について述べたいと思います。

前回、シェルスクリプトの作成について述べました。(こちら参照
そちらでも少し述べましたが、シェルスクリプトの実行方法について
述べたいと思います。

実行方法は大きく3つ

シェルスクリプトの実行方法は大きく3つあります。

  • ファイル名を実行
  • sourceコマンドで.shファイルを引数に指定
  • bashコマンドで.shファイルを引数に指定

それぞれについて述べていきます。

ファイル名を実行

方法としては、

  1. ファイル名.shのファイルのあるディレクトリに移動
  2. ./ファイル名.shを実行
./ファイル名.sh

注意事項としては、
 ・shebang(シェバン)がファイル名.shの行頭に記載されていること
  #!/bin/bash (詳細はこちら)
 ・ファイル名.shの前に./を付けること
(検索PAHTにカレントディレクトリ内が含まれてないので./で指定する)

sourceコマンドで.shファイルを引数に指定

方法としては、

  1. ファイル名.shのファイルのあるディレクトリに移動
  2. source ファイル名.shを実行
source ファイル名.sh

sourceコードによる実行は、新しいシェルを開いて実行するのではなく、
使用しているシェルにそのまま.shの中に書かれているコマンド順々に
実行しています。
よって、shebang(シェバング)#!/bin/bashが行頭になくても、
作動します。もし書かれていても#によってコメントアウトされます。

ちなみにsourceコマンドと同じコマンドとして”.”が使えます。

. ファイル名.sh

bashコマンドで.shファイルを引数に指定

方法としては、

  1. ファイル名.shのファイルのあるディレクトリに移動
  2. bash ファイル名.shを実行
bash ファイル名.sh

bashコマンドでファイルを引数に指定します。
なので、こちらもshebang(シェバング)#!/bin/bashが
行頭になくても、作動します。こちらは1つ目のファイル名実行と似ており、
shebangでbashを指定するか、bashコマンドで実行するかの違いのみです。
感覚的には、この方法がわかりやすいかと思います。

終わりに

シェルファイルの実行方法について、紹介しました。
sourceコマンドは他の方法に比べて、形態がすこし異なり、
現使用のシェルにコマンドを1つずつ入れていくイメージで、
その他方法は、新規にシェルを起こして実行するイメージで
使い分けてもらえればと思います。

Have a nice Linux life!