0

ここsystemでRubyのメソッドのドキュメントを読んでいました。オプション(ダウンロードするディレクトリを指定する)を入力した場合、それは1つの引数または2つの引数、あるいはそのいずれかとしてカウントされますか?-P /public/google

4

2 に答える 2

3

実際には、使用するシステムの形式によって異なります。コマンド文字列を渡すと、ala:

system 'somecmd -P /public/google'

コマンド文字列は、それを解析するシェルによって解釈され、空白でトークン化され、somecmd への 2 つの引数になります。同様に、引数リスト形式を使用し、文字列を空白で区切られたトークンに分割すると、次のようになります。

system 'somecmd', '-P', '/public/google'
system *%w{ somecmd -P /public/google }

しかし、引数リスト形式を使用し-P /public/googleて単一の引数として送信すると、空白が埋め込まれた 1 つの引数として somecmd に表示されます。

system 'somecmd', '-P /public/google'
于 2012-11-13T23:32:30.443 に答える
1

2つと数えます。2 つの間にスペースがあるため、シェルはそれを認識して and として分割し-Pます/public/google(Ruby でさえも引数を使用した場合、シェルはそれらを別個の引数としてスクリプトに渡します)。

于 2012-11-13T21:21:41.557 に答える