9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Linux】シェルスクリプトの実行方法

Last updated at Posted at 2022-08-08

sourceコマンドで実行

sourceコマンドを使用することで実行できます。

ターミナル
$ source ./foo/bar.sh

また以下のように.でも同様に実行できます。
shにはsourceコマンドがないのでshの場合には.を使用する必要があります。

ターミナル
$ . ./foo/bar.sh

sourceコマンドでの実行には以下の特徴があります。

  • 現在実行中のシェル環境でスクリプトが実行される
    現在実行されているシェルがshの場合にはshが使用されます。そのためスクリプトの実行が現在のシェル環境に影響されます。またスクリプトの実行結果が現在のシェル環境に反映されます。
  • 実行権限は不要
  • shebang(#!/bin/bash など)は不要
    shebangを記述しても現在実行中のシェルで実行されます。

シェルの引数として実行

以下のようにシェルの引数として実行できます。

ターミナル
bash ./foo/bar.sh

シェルの引数として実行する方法には以下の特徴があります。

  • 指定したシェルで実行される
    現在実行されているシェルがshの場合でもbash ./foo/bar.shとするとbashで実行されます。そのためスクリプトの実行は現在のシェルの環境に影響されません。
  • 実行権限は不要
  • shebang(#!/bin/bash など)は不要
    shebangを記述しても指定したシェルで実行されます。

パスを指定して実行

パスを指定することで実行できます。

$ ./foo/bar.sh

パスを指定して実行する方法には以下の特徴があります。

  • shebangのシェルで実行される
    shebangを#!/bin/bashと記述するとbashで実行されます。
  • 実行権限が必要
    実行前にchmod +x ./foo/sample.shなどを実行して実行権限を付与する必要があります。
  • shebang(#!/bin/bash など)が必要
    shebangを記述してシェルなどを指定する必要があります。

なお環境変数PATHに指定されているディレクトリに保存するとパスを指定せず実行できます。

ターミナル
$ bar.sh
9
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?