1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

シェルスクリプトにおける引数の受け取り方

Posted at

シェルスクリプトにおける引数の受け取り方

シェルスクリプトでは、スクリプトに渡された引数を利用することができます。以下に、基本的な引数の受け取り方について説明します。

引数の基本

  1. $0:

    • スクリプトの名前を表します。
  2. $1, $2, ..., $N:

    • スクリプトに渡されたそれぞれの引数を表します。$1 は最初の引数、$2 は二番目の引数、... $N は N 番目の引数です。
  3. $#:

    • スクリプトに渡された引数の数を表します。
  4. $*:

    • すべての引数をひとつの文字列として表します。
  5. $@:

    • すべての引数を個別の文字列として表します。

使用例

次の例は、シェルスクリプトに渡された引数を表示する簡単なスクリプトです。

#!/bin/bash

echo "スクリプト名: $0"
echo "最初の引数: $1"
echo "二番目の引数: $2"
echo "引数の数: $#"
echo "すべての引数(\$* を使用): $*"
echo "すべての引数(\$@ を使用): $@"

実行例

上記のスクリプトを args.sh という名前で保存し、以下のように実行します。

$ ./args.sh arg1 arg2 arg3

実行結果

スクリプト名: ./args.sh
最初の引数: arg1
二番目の引数: arg2
引数の数: 3
すべての引数($* を使用): arg1 arg2 arg3
すべての引数($@ を使用): arg1 arg2 arg3

ループを使った引数の処理

すべての引数をループで処理する例を示します。

#!/bin/bash

for arg in "$@"
do
    echo "引数: $arg"
done

実行例

$ ./args.sh arg1 arg2 arg3

実行結果

引数: arg1
引数: arg2
引数: arg3

引数のシフト

shift コマンドを使うと、引数を左にシフトし、$1 の値を削除できます。

#!/bin/bash

while [ "$#" -gt 0 ]; do
    echo "引数: $1"
    shift
done

実行例

$ ./shift_args.sh arg1 arg2 arg3

実行結果

引数: arg1
引数: arg2
引数: arg3

まとめ

シェルスクリプトでは、引数を使ってスクリプトに様々な入力を渡すことができます。これにより、スクリプトの柔軟性と再利用性が向上します。引数をうまく利用することで、より汎用的で強力なスクリプトを作成することができます。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?