整数 ARGC と 整数 ARGS
ARGC には、コマンド名自身を含むコマンドライン引数の数(整数値)がセットされます。ARGS には、shift()可能なコマンドライン引数の数(整数値)がセットされます。(初期値は ARGC-1 ですが、 shift()ファミリ関数実行時に値が調整されます。)
-
ARGC と ARGS を表示します。
print("ARGC=%d,ARGS=%d\n",ARGC,ARGS) str=shift() # コマンドライン引数を取得します。 print("ARGC=%d,ARGS=%d\n",ARGC,ARGS)
配列 ARGV[]
ARGV[] には、コマンド名自身を含むコマンドライン引数(文字列)がセットされます。
-
ARGV[] の全要素を表示します。
for(i=0;i<ARGC;i++){ # 0 から ARGC-1 までループします。 print("値=%s\n",ARGV[i]) # ARGV[i] は文字列です。 }
関数 shift()
関数 shift() は、呼び出される度に次のコマンドライン引数(文字列)を順番に戻します。戻すべきコマンドライン引数が無い場合は、引数で指定されたデフォルト値、又は、NULL が戻されます。
-
コマンドライン引数より2つのパラメータを取得します。
if( ARGC!=3 ){ # 引数の数を確認します。 eprint("Usage: ${CMD} p1 p2\n") # 使用方法を表示します。${CMD}はコマンド名に置換されます。 exit(0) } p1=shift() # 第1コマンドライン引数を変数 p1 へセットします。(文字列) p2=shift() # 第2コマンドライン引数を変数 p2 へセットします。(文字列)
-
コマンドライン引数より1つのパラメータ(ファイル名)を取得します。ただし、何も指定されなかった場合は、標準入力 STDIN をセットするものとします。
if( ARGC!=1 && ARGC!=2 ){ # 引数の数を確認します。 eprint("Usage: ${CMD} [file]\n") # 使用方法を表示します。${CMD}はコマンド名に置換されます。 exit(0) } file=shift(STDIN) # コマンドライン引数(又は、STDIN)を変数 file へセットします。