シェルスクリプトで複数の引数を受け取る方法

目次

スポンサードリンク

本記事では、シェルスクリプトで実行時に複数の引数を渡す方法を解説します。

引数の受け取り方

シェルスクリプト内で、実行時に渡された引数にアクセスするには、以下の変数を使用します。

  • $#  引数の数
  • $*  すべての引数を列挙
  • $1, $2, $3,…  それぞれ1番目、2番目、3番目の引数
  • $@  すべての引数を個々の文字列として取得

サンプルコード

以下サンプルでは、引数の数や1~3番目までの引数を取得しています。引数の数が不定の場合は$@とfor文を組み合わせることですべての引数を取得することができます。

#!/bin/bash

# 引数の数を表示
echo "引数の数は: $#"

# 全ての引数を表示
echo "全ての引数は: $*"

# 1番目の引数
echo "$1"

# 2番目の引数
echo "$2"

# 3番目の引数
echo "$3"

# 各引数を順番に表示
for arg in "$@"
do
echo "引数: $arg"
done

exit 0

上記を保存して実行してみます。

[root@hostname tmp]# ./test.sh one two three
引数の数は: 3
全ての引数は: one two three
one
two
three
引数: one
引数: two
引数: three


シェルスクリプトで実行時に複数の引数を渡す方法を解説しました。 シェルスクリプトの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。

最短3時間で覚えるLinuxシェルスクリプト
こちらは、シェルスクリプトの基本的な書き方、デバッグ方法、if, case, while, forなど基本的な制御構文について書かれています。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。

Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 icon