- 締切済み
コマンドライン引数って?
人に聞いたり、いろんな本を読んでいるのですが、 「コマンドライン引数」がどういうものなのか 今ひとつ分かりません。 初歩的な質問ですみません。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Snowman
- ベストアンサー率66% (6/9)
もしかしたら、そもそも「コマンドライン」とは何のことなのか、それがピンと 来てないのかもしれませんね。Windows しか使ったことがないと、「コマンドライ ン」を使う機会がそもそもないでしょうから。 コマンドライン引数が「コマンドライン」引数と呼ばれるのには、歴史的な理由が あります。 ウィンドウシステムのない時代には、コンピュータに何かをさせるためには常に、 キーボードを打って、やらせたい命令を与える必要がありました。 その、やらせたい「命令」のことを「コマンド」と言いました。 キーボード入力で「コマンド」を与えると、そのコマンドに対応するプログラム が動いたわけです。 そして、「命令」にはしばしば、パラメータがあります。たとえば次のように コマンドを与えたとすると、 del a.txt これは、 a.txt というファイルを削除しろ、という命令(コマンド)になります。 このようなコマンドは、Windowsの時代であればほぼ使う必要はありません。ファイルを クリックしてゴミ箱に入れればわけですから。 ところが、Window システムがない場合は、上記のような文字をキーボードで打ち込む 必要があるわけです。 キーボードでコマンドを打ち込んでいくと、途中、空白で区切ることはあっても基本的 には一行にずらずらとつながっていきます。そのようにコマンドを入力する場所のことを コマンドラインといいます。コマンドを入力する行だからコマンドラインです。 そして、コマンドラインで指定するパラメータのことを、コマンドライン引数と 呼ぶわけです。上の例で言えば a.txt がコマンドライン引数です。(ただし、del の 部分も含めてコマンドライン引数と考える場合もあります) 以上。
- UKY
- ベストアンサー率50% (604/1207)
Java のプログラムを実行させる時、コマンドラインに >java MyClass のように、入力しますよね? 「java」というのは、Javaアプリケーションを実行させるためのプログラムの名前です。そして、「MyClass」というのが、実行させたいJavaアプリケーションのクラスの名前になりますが、このとき、「MyClass」は「java」にとってのコマンドライン引数なのです。 つまり、「java」というコマンドを、「MyClass」というコマンドライン引数で呼び出した、ということなのです。これによって、コマンドライン引数「MyClass」が「java」コマンドに伝えられて、MyClassが実行されます。 もう一つ他の例を考えてみましょう。 Javaのソースファイルをコンパイルする時、 >javac MyClass.java のように入力します。 この場合は、「javac」というコマンドを「MyClass.java」というコマンドライン引数で呼び出した、ということになります。これによって、「MyClass.java」というコマンドライン引数が「javac」コマンドに伝えられて、javac は MyClass.java をコンパイルします。 最後の例です。Java アプリケーションそのものに、コマンドライン引数を渡してみます。まずは、そのサンプルプログラムを書きます。 class Sample { public static void main(String[] args) { System.out.println(args[0]); } } これをコンパイルしたあと、次のコマンドで実行してみます。 >java Sample abcdefghi すると、次のように画面に出力されるはずです。 abcdefghi これは、「Sample」というJavaアプリケーションを、「abcdefghi」というコマンドライン引数で実行したのです。少しややこしいですが、 「java」のコマンドライン引数が「Sample」と「abcdefghi」になっていて、「java」は「Sample」というJavaアプリケーションを「abcdefghi」というコマンドライン引数で実行させたのです。 さて、「Sample」プログラムは、「abcdefghi」という引数で実行されますが、この値は上に書いたプログラムの args という String の配列に格納されています。このプログラムは、args に格納されたコマンドライン引数の値を取り出し、それを画面に出力したのです。 あまりうまく説明できなかったかもしれませんが、コマンドライン引数がどんなものかつかめてもらえたでしょうか。 プログラムを呼び出す時に引数といっしょに呼び出し、伝えられた引数を使ってプログラムは処理をするということです。
- Spur
- ベストアンサー率25% (453/1783)
外部や内部のコマンドを呼び出す時に、その動きを決定するために、一緒に渡すパラメータ(引数)のことです。 通常はコマンドの後ろに、半角スペースをひとつ入れて、その後に書くか、「?」などでつないで書きますが、書き方は、その呼び出すコマンドの種類や言語によって違います。
お礼
そうなんです。 そもそもコマンドラインが何かがよく分かってなくて。 でもSnowmanさんのおかげでよく分かりました。 まさに「かゆいところに手が届く」説明、どうもありがとうございました!