Latest web development tutorials

シェル通過パラメータ

$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