Jay*_*lor 14 bash shell command-line scala
我想了解这个Scala脚本的工作原理:
#!/usr/bin/env bash
exec scala "$0" "$@"
!#
object HelloWorld {
def main(args: Array[String]) {
println("Hello, world! " + args.toList)
}
}
HelloWorld main args
Run Code Online (Sandbox Code Playgroud)
在第3行,什么是"!#"在做什么?然后文件的其余部分被送到Scala程序的标准输入端吗?还有,'!#'记录在哪里?
注意:我能找到的最接近的东西,虽然它没有任何直接相关性,但是Stack Overflow问题为什么你需要在脚本文件的开头加上#!/ bin/bash?(关于Bash脚本的开头).
Blu*_*ict 18
从原始文件:
脚本文件可能有一个可选的标题,如果存在则会被忽略.格式化标题有两种方法:以#开头!并以!#结尾,或以::#开头!并以::!#结束.
因此,以下代码只是Scala脚本的标头:
#!/usr/bin/env bash
exec scala "$0" "$@"
!#
Run Code Online (Sandbox Code Playgroud)