【Linux】シェルスクリプトに渡す引数($0、$1、$2、・・・の違い)

Linuxのシェルスクリプトに渡す引数についてまとめました。

シェルスクリプトに渡す引数

シェルスクリプトでは、コマンドと同様に引数を指定できます。

引数で指定した値はシェルスクリプト中で「位置パラメータ」として受け取ります。
位置パラメータは、「0~n」の数値で表し、「$n」もしくは「${n}」の形式で値を参照します。
位置パラメータと関連する特殊パラメータは以下のとおり。

特殊パラメータ 概要
$0 位置パラメータの最初の値。ただし、引数の値ではなく、コマンド名もしくはシェルスクリプト名(パス名)を値としてもつ。
$# 引数の数を値としてもつ。
$* 全ての引数を空白で区切り、まとめて1つの文字列として値をもつ。
$@ 全ての引数を個別の値としてもつ

実行例

位置パラメータ1~4に値をセット

$ set P1 P2 P3 P4

位置パラメータ0の値(コマンド名:bash)を表示

$ echo $0
/bin/bash

位置パラメータ1の値を表示

$ echo $1
P1

位置パラメータ2の値を表示

$ echo $2
P2

位置パラメータ3の値を表示

$ echo $3
P3

値がセットされている位置パラメータの数を表示

$ echo $#
3

全ての位置パラメータの値を表示

$ echo $*
P1 P2 P3

全ての位置パラメータの値を表示

$ echo $@
P1 P2 P3

関連ページ

LinuCの試験対策と例題まとめ
LinuCの試験対策と例題(学習サイト)についてまとめました。
LPICの試験対策と例題まとめ
LPICの試験対策と例題(学習サイト)についてまとめました。
【Linux超入門】システムの基礎とよく使うコマンドなど徹底解説
Linuxシステムの基礎とよく使うコマンドなどについて入門者向けに解説します。

コメント