引数変数の使用:
引数変数は$ 0から始まります。メインスクリプトファイル名は$ 0に格納され、コマンドライン引数から引数値を受け取ります。コマンドラインで2つの引数が渡された場合、引数の値は$ 1変数と$ 2変数で順番に受信されます。
例-1:引数として3つの数値を送信する
bashファイルを作成し、次のコードを追加します。スクリプトは3つの引数値を受け取り、$ 1、$ 2、および$ 3に格納します。引数の総数をカウントし、ループありとループなしの引数値を出力します。最後に、すべての引数値の合計を出力します。
#!/ bin / bash
#引数の総数を数える
捨てた '引数の総数:$#'
#引数値を個別に読み取る
捨てた '最初の引数値:$ 1'
捨てた '2番目の引数値:$ 2'
捨てた '3番目の引数値:$ 3'
#ループを使用して引数値を読み取る
にとってargvalの '[メール保護]'
NS
捨てた -NS '$ argval'
終わり
#引数値の追加
和= $(((($ 1+$ 2+$ 3)。)。
#結果を出力する
捨てた -と 'NS合計の結果=$ sum'
3つの数値引数値を使用してbashファイルを実行します。
$bashcmdline1.sh50 35 15
例-2:ファイル名を引数として取る
bashファイルを作成し、次のコードを追加して、ファイルの合計文字数をカウントします。ここでは、ファイル名がコマンドライン引数として渡されます。
#!/ bin / bashファイル名=$ 1
totalchar=「トイレ -NS $ filename「
捨てた '文字の総数は$ totalchar'
ファイル名を単一の引数値としてbashスクリプトを実行し、別のコマンドを実行して、そのファイルの合計文字数を確認します。ここでは、employee.txtファイルが引数値として使用されます。 employee.txtファイルの合計文字数は204です。
$bashcmdline2.sh employee.txt
$トイレ -NSemployee.txt
getopts関数の使用:
データベースや任意のファイルにデータを保存したり、コマンドライン引数の値に基づいて特定の形式でレポートを作成したりする場合は、 getopts 関数は、タスクを実行するための最良のオプションです。これは組み込みのLinux関数です。したがって、スクリプトでこの関数を簡単に使用して、コマンドラインからフォーマットされたデータを読み取ることができます。
例-1:getopts関数による引数の読み取り
bashファイルを作成し、次のスクリプトを追加して、の使用法を理解します。 getopts 関数。 「getopts」関数は、コマンドライン引数オプションと引数値を読み取るためにwhileループとともに使用されます。ここでは、4つのオプションが使用されています。 「i」、「n」、「m」 と 'と' 。 caseステートメントは、特定のオプションを照合し、引数値を変数に格納するために使用されます。最後に、変数の値を出力します。
#!/ bin / bashその間 getopts ':私の中に:'怒り;NS
場合 $ arg の
私)。 ID=$ OPTARG;;
NS)。 名前=$ OPTARG;;
NS)。 製造日付=$ OPTARG;;
と)。 有効期限=$ OPTARG;;
esac
終わり
捨てた -と 'NS$ ID $ Name $ Manufacturing_date $ Expire_dateNS'
次のオプションと引数値を使用してファイルを実行します。ここで、p100は-iオプションの値、「Hot Cake」は-nオプションの値、「01-01-2018」は-mオプションの値、「06-01-2018」は-の値です。 eオプション。
$bashcmdline3.sh-私p001-NS 「ホットケーキ」 -NS '01 -01-2018 ' -と '06 -01-2018 '
スクリプトで単純な値を送信する必要がある場合は、引数変数を使用することをお勧めします。ただし、フォーマットされた方法でデータを送信する場合は、getopts関数を使用して引数値を取得することをお勧めします。詳細については、をご覧ください ビデオ !