可以通过启动带有以下内容的文本文件在Scala中编写shell脚本:
#!/bin/sh
exec scala "$0" "$@"
!#
为了简化脚本创建,我想编写一个名为scalash
的可执行文件(可能是一个BASH脚本),允许将Scala脚本标题缩短为一行:
#!/bin/scalash
有可能吗?如果我可以将可选参数传递给scalash
,例如添加类路径依赖项,那么额外的点。
答案 0 :(得分:17)
在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!
答案 1 :(得分:8)
请参阅this pull request(this)。没有与之相关的问题 - 如果您愿意,可以打开问题并对拉取请求发表评论。
您也可以使用SBT启动脚本。查看有关scalas
here的信息。
修改强>
拉取请求已被接受,因此这应该有效:
#!/usr/bin/env /path/to/scala
etc