特別な位置変数のBashシェルとその応用
我々はすべてのbashシェルを知っているように、より自分の機能のシェルスクリプトを実行するためにそれらを使用するための柔軟性を多くのユニークな位置変数を持っています。
その位置変数:$ 1、$ 2、...が表現され、その引数を呼び出すスクリプトのは、スクリプトコードで、コマンドラインに渡されます
特殊変数:$、$ 0、$ *、$ @#$、$$?
---------------- -----------------------------特定の分析
成功のための検出器上のコマンドの戻りコードについては$ :?、0、1から255までは失敗を表し
$ 0:コマンド自体
$の*:全てのパラメータ、1つの文字列にテーブルのスクリプトに渡されたすべてのパラメータ
$ @を: 表のスクリプトに渡されたすべてのパラメータ、各パラメータの別々の文字列として
$#:スクリプトに渡すパラメータの数
$$:現在実行中のスクリプトシェルのプロセスIDを取得します。
より良く理解するために、私は、テストするには、以下のスクリプトを書いて認識されるブラケットのための$ 10に注意を払います。
[ルートFranklin13〜@]#エコー$ SHELL
/ binに/ bashの
[ルート@ Franklin13〜]#のVimのtest_arg.sh
[ルートFranklin13〜@]#のバッシュtest_arg.sh {A..Z}
第一引数は、
2ST引数のbである
10STの引数jのある
すべてのargはABCDEFGHIJKLMNOPQRSTU VWXYZある
すべての引数VWXYZ ABCDEFGHIJKLMNOPQRSTUある
引数の数は26である
SCRIPTNAMEがtest_arg.shある
[Franklin13〜@ルート]#
実1:自動的にIPを取るスクリプトを記述するために$ 1を利用
まず、IP、成功を傍受するために、次のコマンドを使用します
[ルート@ Franklin13〜]#ifconfigコマンド ens33 | grepの-w "INET" | trの-s '|' % '%は、-d%の-f3(TR -sカット' 表現のみを再変換滞在するすべての重複のスペースを圧縮します%など)
192.168.1.19
そして、すぐにIPアドレスを確認するために、スクリプトを使用することができます$ 1呼び出すことで、このコマンドを作ります。
[Franklin13〜@ルート]#./get-ip.sh LO
IPは127.0.0.1が
使用していただきありがとうございます!
[Franklin13〜@ルート]#./get-ip.sh ens33
IPが192.168.1.19では
ご利用いただきありがとうございます!
[Franklin13〜@ルート]#./get-ip.sh virbr0
IPが192.168.122.1では
ご利用いただきありがとうございます!
-------------------------------- ----------------終了-------------------