1

次のコマンドを実行したい:

lynx -useragent='Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1' -source 'http://localhost'

ProcessScalaのように。私は両方を使用しました:

val cmd = ... // command to execute
cmd #> new java.io.File( filename ) !

と:

val proc = Process( cmd )                                                  
proc !!

そして、どちらの場合も、次のエラーが発生しlynxます。

Can't Access `file://localhost/home/me/Work/23.lynx/2.multidownload/(X11;'
Alert!: Unable to access document.

コマンドを単独で実行すると、Scalaで実行するとうまく機能します—エラーが発生します。つまり、Scalaと、の間で何か奇妙なことが起こりlynx、文字列が正しく解釈されないということです…何か考えはありますか?

4

1 に答える 1

9

cmd文字列に設定されていると思います。!!次に、各スペース文字で文字列を分割して、文字を気にせずにlynxに渡す引数を取得します'

import scala.sys.process._

val cmd = Seq("lynx",
              "-useragent='Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1'",
              "-source" "http://localhost")
val out = cmd.!!
于 2012-07-31T10:58:08.790 に答える