2014年07月29日

shスクリプト argc 引数があるかないかを調べる

#--- 引数のチェック

### $#はコマンドラインに続く文字列の数。

### もし引数の個数が一つでなければ、usageを標準エラー出力に出して終了

if [ $# != 1 ]; then

echo "usage: $0 strings" 1>&2

exit 0

fi



#--- 変数ARGV1に第一引数を代入

ARGV1=$1



#--- ARGV1を画面に(標準出力に)出す

echo $ARGV1



入力した文字列をそのまま返している。 if文内では引数の解析を行い、引数の個数が一つであるとき以外は使用法を表示して終了する。次に、変数ARGV1に引数を代入し、echo文でARGV1を出力している。以下が実行例である。



% basic.sh aaa

aaa



http://www.e.ics.nara-wu.ac.jp/~nogu/tips/shellscript.html



解説:スクリプトのファイル名は、常にスクリプトへの引数として渡されます。 したがっ>て、$argc の最小値は 1 です。



うーん、これと同じことがphpで、出来ないんだけど・・・



echo "argc is $argc\n";

if ($agrc > 1){

var_dump($argv);

}



実行結果:

> php tt.php dd

Content-type: text/html



argc is 2



if ($agrc > 1){ が評価されていない



$argcをいったん、テキトーな変数に代入してみると出来た。バカっぽいなあ。

echo "argc is $argc\n";

$kosu = $argc;

echo $kosu;

if ($kosu > 1){

var_dump($argv);

}





実行結果:

php tt.php dd

Content-type: text/html



argc is 2

2array(2) {

[0]=>

string(6) "tt.php"

[1]=>

string(2) "dd"

}






「ユニブロのITマネージメント実験室」のトップに戻る

posted by ユニブロ at 20:49 | 東京 ☀ | Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする