シェルスクリプトでパラメータを取得する方法
シェルスクリプトで引数を得る方法は2つあり、位置引数と特殊引数です。
- スクリプト実行時に渡される引数で、$1、$2、$3 … などで取得できます。$1 は最初の引数、$2 は2 番目の引数、以下同様です。たとえば、「script.sh」というスクリプトがあるとすると、実行時に次のように引数を取得できます。
$ ./script.sh arg1 arg2 arg3
スクリプト内では、$1、$2、$3でarg1、arg2、arg3を取得できます。 例:
#!/bin/bash
echo "第一个参数为:$1"
echo "第二个参数为:$2"
echo "第三个参数为:$3"
結果をアウトプットします。
第一个参数为:arg1
第二个参数为:arg2
第三个参数为:arg3
- 特殊的パラメーター: シェルは、シェルスクリプトの情報を得るためいくつかの特別なパラメーターを提供します。
- 0$: スクリプトの名称を表します。
- $@:は、すべての引数を文字列形式で返します。引数の間は空白で区切られます。
- $*: すべての引数を、IFS 環境変数で区切られた(空白区切りがデフォルト)文字列として返します。
- #:スクリプトに渡される引数の数を表します。
たとえば、スクリプト名が script.sh の場合、実行時に引数を取得する方法は次の通りです。
$ ./script.sh arg1 arg2 arg3
スクリプト内では、$@、$*、$#で引数を受け取ることができます。例えば:
#!/bin/bash
echo "脚本名称为:$0"
echo "所有的参数为:$@"
echo "所有的参数为:$*"
echo "参数个数为:$#"
風に吹かれて、桜の花は散り、家へと帰っていきました。
脚本名称为:./script.sh
所有的参数为:arg1 arg2 arg3
所有的参数为:arg1 arg2 arg3
参数个数为:3