在
Scala的编程中,它将介绍如何从批处理文件(
link)运行Scala脚本.
@H_404_1@对于Windows
::#! @echo off call scala %0 %* goto :eof ::!#@H_404_1@我有一个问题googling ::#!这是什么意思?我知道::表示一个评论,在Unix#!是一个使用壳的方向,但这正是在这里?而::!#? @H_404_1@%0%*是什么意思,是否有必要这样表达? @H_404_1@是否可以从同一个批处理文件运行多个脚本?
这是一个g头,但它的作品.它打算复制Unix shell调用特定命令来处理一个shell文件的能力.所以,这里的解释是:
::#!@H_404_1@以::开头的行是Windows shell中的注释,所以这只是一个注释.
@echo off@H_404_1@不要显示从这里执行的行. @一开始确保此行本身不会显示.
call scala %0 %*@H_404_1@将执行转移到scala脚本. %0表示此文件本身的名称(以便Scala可以找到它),而%*是在其执行中传递的参数. @H_404_1@例如,说这些行在一个名为count.bat的文件中,并且通过键入count 1 2 3来调用它.在这种情况下,该行将执行scala count 1 2 3 – 在这种情况下,您将收到错误.您必须通过键入count.bat来调用它.
goto :eof@H_404_1@完成执行脚本.
::!#@H_404_1@另一个评论线. @H_404_1@所以,这里的技巧… Scala,一旦被调用,会发现文件作为第一个参数传递,检查第一行是否是::#!,忽略所有的行::!#如果是这样,然后执行文件的其余部分(作为::!#之后的行)作为Scala脚本. @H_404_1@换句话说,它不是Windows shell是聪明的,它是Scala.