Более короткий заголовок Scala Script

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

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

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

#!/bin/scalash

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

2 ответа

Решение

В 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!

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

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

РЕДАКТИРОВАТЬ

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

#!/usr/bin/env /path/to/scala
etc
Другие вопросы по тегам