シェル通過パラメータ
$N:私たちは、スクリプトにパラメータを渡すためのシェルスクリプトの実装では、スクリプトは、 フォーマット内のパラメータを取りすることができます。nが 、数を表すスクリプトパラメータの最初の実行のための1、スクリプトを実行する2番目のパラメータの2、というように......
例
次の例では、我々は$ 0が実行するファイルの名前である3スクリプトのパラメータ、および出力を、渡します。
#!/bin/bash # author:本教程 # url:www.w3big.com echo "Shell 传递参数实例!"; echo "执行的文件名:$0"; echo "第一个参数为:$1"; echo "第二个参数为:$2"; echo "第三个参数为:$3";
次のようにスクリプトに実行権限を設定し、スクリプトを実行し、出力は次のようになります。
$ chmod +x test.sh $ ./test.sh 1 2 3 Shell 传递参数实例! 执行的文件名:./test.sh 第一个参数为:1 第二个参数为:2 第三个参数为:3
また、特殊文字を処理するには、いくつかのパラメータがあります。
パラメータ処理 | 説明 |
---|---|
$# | スクリプトに渡されたパラメータの数 |
$ * | 単一の文字列でスクリプトに渡されるすべてのパラメータが表示されます。 このような "" "同梱の場合、形式" $ 1 $ 2 ... $ n "はすべてのパラメータの出力との" $ * "として。 |
$$ | スクリプトの実行の現在のプロセスID番号 |
$! | 最後に、プロセスは、バックグラウンドのID番号で実行されています |
$ @ | *同じでは$にしていますが、引用符を使用し、引用符で各パラメータを返します。 このような "" "同梱の場合、形式" $ 1 "" $ 2 "..." $ n "はすべてのパラメータの出力との" $ @ "として。 |
$ - | シェルは、使用する現在のオプションが表示され、 コマンドを設定し 、同じ機能を。 |
$? | 最後のコマンドの終了ステータスを表示します。 0はエラーがないことを示し、それ以外の値はエラーを示します。 |
#!/bin/bash # author:本教程 # url:www.w3big.com echo "Shell 传递参数实例!"; echo "第一个参数为:$1"; echo "参数个数为:$#"; echo "传递的参数作为一个字符串显示:$*";
次のようにスクリプトを実行し、出力は次のようになります。
$ chmod +x test.sh $ ./test.sh 1 2 3 Shell 传递参数实例! 第一个参数为:1 参数个数为:3 传递的参数作为一个字符串显示:1 2 3
$ *と$ @の違い:
- 同じポイント:全てのパラメータへのすべての参照。
- 違い:二重引用符だけに反映。 」、(パラメータを渡す)「123」に相当し、「@」は「1」に相当し、「2」 "*" ,,三つのパラメータ1,2,3を書くときにスクリプトが実行されると仮定3」(3つのパラメータを渡します)。
#!/bin/bash # author:本教程 # url:www.w3big.com echo "-- \$* 演示 ---" for i in "$*"; do echo $i done echo "-- \$@ 演示 ---" for i in "$@"; do echo $i done
次のようにスクリプトを実行し、出力は次のようになります。
$ chmod +x test.sh $ ./test.sh 1 2 3 -- $* 演示 --- 1 2 3 -- $@ 演示 --- 1 2 3