Мне нужно разработать API для пользователей, не знакомых со scala (ни Java), но знакомых с Shell. Они, в основном, будут писать сценарии оболочки внутри scala-класса (я знаю, что мог бы просто вызвать внешние сценарии оболочки, но давайте! Кроме того, позже у нас будут некоторые функции для общих задач оболочки)
Я надеялся сделать что-то вроде:
1 object MyCoolScript extends MyMagicTrait {
2 $ "mkdir /tmp/test"
3 $ "cd /tmp/test"
4 $ "wget some-url"
5 }
Говоря более прямо, как мне преобразовать строки 2-4 (или, возможно, менее краткую версию) в Seq[String], которую я мог бы обработать в MyMagicTrait?
Я знаю о sys.process.stringToProcess, но если у меня есть:
object MyCoolScript extends MyMagicTrait {
"mkdir /tmp/test" !!
"cd /tmp/test" !!
"wget some-url" !!
}
Как я могу получить результат каждой команды в сжатой форме? Кроме того, я надеялся на нотацию $ "xxx".
Обновление ответов на сообщения:
Спасибо @debilski, @ tenshi и @daniel-c-sobral Мне удалось очень близко подойти к желаемой реализации: https://gist.github.com/2777994