ShellScriptで引数を渡す方法【サンプルコード】

ShellScriptで引数を渡す方法【サンプルコード】ShellScript
ゆうすけ
ゆうすけ

ShellScriptで引数を受け取れるようにしたいです。

資格マフィア
資格マフィア

ShellScriptの引数は「$1」「$2」「$3」…と書けば参照できるぞ。

 

✔️ 本記事のテーマ

ShellScriptで引数を渡す方法

✔️ 読者さんへの前置きメッセージ

結論から述べると、
以下のようにShellScriptを実行することで引数を渡すことができます。

sample.sh aaa bbb ccc

そしてこれらの引数は「$1」「$2」「$3」と書くことでShellScript内で参照することができます。

 

本記事は「ShellScriptの引数」について書いています。

 

この記事を読むことで
「ShellScriptの引数の渡し方/受け取り方 や ShellScriptで関数を定義したときの引数」
について理解できます。

 

ShellScriptは、WindowsやMac といったOSに関わらず、便利な技術です。

 

この記事ではそんなShellScriptの引数について解説しています。

 

では、解説していきましょう。

 

ShellScriptで引数を定義するには

ShellScriptで引数を定義するには

ShellScriptで引数を使うには、

  1. ShellScript内で引数を参照する処理を書く
  2. ShellScriptの実行時に引数を渡す

という2ステップが必要になります。

 

順番に説明していきましょう。

 

ShellScript内で引数を参照する処理を書く

まず引数を参照する処理を書いてきましょう。


ShellScriptで引数を参照するにはShellScript内で

「$1」「$2」「$3」…

と書くことで参照することができます。


試しにコードで示してみましょう。

#! /bin/bash

echo "No.1=" $1
echo "No.2=" $2
echo "No.3=" $3

このShellScriptは第1引数を「No.1=~」、第2引数を「No.2=~」、第3引数を「No.3=~」
というように表示するプログラムです。

 

「$」の後ろに数字を指定することでその順の引数を参照することができます。

 

ShellScriptの実行時に引数を渡す

次に、作成したShellScriptを実行してみましょう。

 

この実行時に引数を引数を渡すことができます。

sample.sh aaa bbb ccc

今回は第1引数にaaa、第2引数にbbb、第3引数にcccを渡しています。

 

すると、実行結果は以下のようになります。

# No.1=aaa
# No.2=bbb
# No.3=ccc

 

このように、ShellScript内で「$」で参照先を指定して、
実行時に引数を渡すという方法で引数を定義することができます。

 

ちなみに、ShellScript内で定義されている以上の引数を渡すと無視されて処理が進みます。

sample.sh aaa bbb ccc ddd

# No.1=aaa
# No.2=bbb
# No.3=ccc

 

逆に、ShellScript内で定義されている引数を渡さないと該当する参照元は空文字になります。

sample.sh aaa bbb

# No.1=aaa
# No.2=bbb
# No.3=

ShellScriptで関数の引数を定義するには

ShellScriptで関数の引数を定義するには

ShellScriptでは関数を定義して、その関数の引数を定義することもできます。

 

「ShellScriptの引数」と「ShellScript内の関数の引数」では定義が少し違いますが、
基本的には同じです。

 

次から、ShellScript内の関数の引数について解説していきましょう。

 

ShellScriptで関数を定義する

ShellScriptで関数を定義するには以下のように書きます。

関数名 () {
    処理名
}

今回はこのような関数に引数を渡して、その関数内でその引数を参照するようにします。

 

コードで示しましょう。

hello() {
    echo "Hello, $1 !!!"
}

関数に引数を渡して実行する

関数を定義すれば、実行は関数名をコマンドのように書くだけです。
引数もコマンドと同じように関数名の後にスペースを挟んで書けばOKです。

 

では、上記の関数をShellScriptの中で実行してみましょう。

hello Taro

 

すると、実行結果は以下のようになります。

# Hello, Taro !!!

ShellScriptの使い道

ShellScriptの使い道

ところで、ShellScriptはどのような場面で使うのでしょうか?

 

ShellScriptは使えるようになると、実は使い道の多いスキルです。

 

普段、面倒だと思いながらやっている大量のファイルのコピーや移動、ファイル名の変換などをShellScriptを使うことで自動化することが出来ます。

 

また、最近ではDockerの登場によってプログラムをコンテナ上で動かすこともあるでしょう。そのような時にDockerコンテナ内での作業(例えば、開発環境の構築など)もShellScriptで自動化することが出来ます。

 

Dockerの登場が改めてShellScriptの需要を高めたと行っても過言ではないでしょう。

 

参考までにDockerについては

などの記事で解説しています。

 

ShellScriptについてもっと知識をつけるなら

ShellScriptの使い道

ShellScriptは手軽に作成できて、Linux/Unix/MacOSなどで動くスクリプトです。

 

広くIT業界で使われているので汎用性の高いスキルと言えるでしょう。

 

ShellScriptやLinuxコマンドについてスキルをつけるならUdemyの教材がオススメです。

>> もう怖くないLinuxコマンド。5日間で身に付けよう

 

Udemyは買い切りの動画学習サービスです。
一度購入してしまえば、その教材はずっと使うことができます。

 

さらに今なら30日間返金保証がついているので、
一度購入して自分の思っていたものと違った場合は費用がかかりません。

 

上記の教材はLinuxコマンドについて徹底的にスキルを習得することができます。
その教材の質の高さから4.3以上の高評価がついています。

エンジニアとしての自身の価値をチェックする(完全無料)

エンジニアとして、

自分の価値がどれくらいのものかご存知でしょうか?

 

エンジニアとしてIT業界に身を置いていると

今の会社でずっと働くのか、フリーランスとして独立するのか …

と様々な選択肢があります。

 

どの選択肢が正解なのかを見極めるためにも、選択肢を広げるためにも

自身の価値を知っておくことはとても重要です。

 

TechClips ME では、

職務経歴書をアップロードするだけで企業からのスカウトを受けることができます。

▼▼▼▼▼

▲▲▲▲▲

しかもTechClips MEでは想定年収を企業から提示してくれるので、

自身の価値を数字で分かりやすくたしかめることができます。

 

登録はもちろん完全無料なので、一度登録してみると良いかもしれません。

 

コメント

タイトルとURLをコピーしました