Более короткий заголовок Scala Script - PullRequest
9 голосов
/ 01 октября 2011

Можно написать сценарии оболочки в Scala, запустив текстовый файл с:

#!/bin/sh
exec scala "$0" "$@"
!#

Чтобы упростить создание скрипта, я хотел бы написать исполняемый файл с именем scalash (возможно, BASH-скрипт), позволяющий сократить заголовок скрипта Scala до одной строки:

#!/bin/scalash

Возможно ли это? Дополнительные баллы, если я могу передать необязательные параметры scalash, например, чтобы добавить зависимости classpath.

Ответы [ 2 ]

17 голосов
/ 01 октября 2011

В Scala 2.11 вы можете сделать это следующим образом (точно так же, как и в большинстве других языков):

#!/usr/bin/env scala
println(args.mkString(" "))

В Scala 2.9.0.1 вы можете просто создать следующий скрипт:

test.scala

#!/usr/bin/scala
!#
println(args.mkString(" "))

и сделайте его исполняемым. (измените первую строку на путь к вашему исполняемому файлу)

Использование:

# ./test.scala Hello world!
Hello world!
8 голосов
/ 01 октября 2011

См. этот запрос на извлечение (был этот ). С этим не связано никаких проблем - если вам так хочется, вы можете открыть проблему и прокомментировать запрос на извлечение.

Вы также можете использовать SBT для запуска сценариев. См. Информацию о scalas здесь .

EDIT

Запрос на прием был принят, поэтому он должен работать:

#!/usr/bin/env /path/to/scala
etc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...