Scala'ya yeni başladım ve kabuk komutlarını çağırmak için bir sarıcı yazıyorum. Şu anda belirli bir dizinden borularla kabuk komutları çağırmaya çalışıyorum. , Borular kabuğun işlevselliği olduğunu,Scala - boruyla kabuk komutları
runCommand("ps -eF | grep -i foo", new File("."));
İlk düşündüm: örneğin, Ancak Boruları kullanamazsınız Bu yardımcı programı ile
def runCommand(command: String, directory: File): (Int, String, String) = {
val errbuffer = new StringBuffer();
val outbuffer = new StringBuffer();
//run the command
val ret = sys.process.Process(command, directory) !
//log output and err
ProcessLogger(outbuffer append _ + "\n", outbuffer append _ + "\n");
return (ret, outbuffer.toString(), errbuffer.toString());
}
:
Ben basit programı yazdım Bunu başarmak için bu yüzden "/ bin/sh -c ps -eF | grep -i foo" yu denedim, fakat bu, borunun sağ tarafındaki ifadenin göz ardı edildiğini gösteriyor.
Ayrıca komutları çalıştırmayı denedim! sözdizimi (sys.process._ paketi), ancak ben, belirtilen dizinden ("cd" kullanmadan) komut çağırmak nasıl olduğunu anlayamadım.
Lütfen bu konuda nasıl yardımcı olabileceğinizi bana bildirir misiniz?
@xhochy. Yorumu, kimsenin yanlışlıkla kullanamaması için kaldırdım. :) –