linux和windows运行Scala脚本代码

2020-03-06 16:26:19 | 编辑 | 添加

在前面Scala IDEA Maven开发配置讲解了如何通过maven打jar包运行,以及如何在IDE中执行scala,其实scala脚本代码也可以直接运行,这也是scala不仅代码简介,而且部署运行方式也可以很简洁,这里稍微提一下。


大多数操作系统都支持shebang 语法②来运行任意脚本。我们可以使用这种方法运行含有Scala 代码的独立文件。只要系统上安装了Scala,采用这种方式无须显式调用scala 命令并且无缝工作。


1.在类linux系统上以独立脚本方式运行

在类Unix 系统上,在脚本中设置shebang 前缀如下。(shebang(也称为hashbang)是一个由井号和叹号构成的字符序列#!,其出现在文本文件第一行的前两个字符的位置。在文件中存在shebang 的情况下,类Unix 操作系统的程序载入器会分析shebang 后的内容,将这些内容作为解释器指令,并调用该指令,并将载有shebang 的文件路径作为该解释器的参数。)

FirstStep/hello.sh

#!/usr/bin/env scala
println("Hello " + args(0))

键入并运行 chmod + x hello.sh 以确保文件hello.sh 具有可执行权限,然后在

命令行上键入如下命令以运行:

./hello.sh Buddy

Buddy 是传递给脚本的参数。下面是运行结果:

Hello Buddy


2.在Windows 上以独立脚本方式运行

在Windows 中经过配置可以做到在一个单独的.scala 文件上双击运行的效果。为此,要在Windows 资源管理器中双击扩展名为.scala 的脚本文件。Windows 会反馈无法打开该文件,并要求你从已安装程序列表中选择一个程序。浏览Scala 的安装位置,并选中scala.bat。现在,就可以在Windows 资源管理器中双击它来运行该程序,也可以在命令提示符中输入去掉.scala 后缀后的文件名以运行该程序。

在 Windows 资源管理器中双击脚本时,会看到一个弹出窗口,它会显示执行结果,并迅速关闭。为了不让弹出窗口消失,可以指定执行这个文件的程序为一个运行Scala 脚本并暂停的.bat 文件。为此,可右键单击Scala 脚本,选择“打开方式...”,然后浏览并选择指定.bat文件。

下面是一个例子。

FirstStep/RunScala.bat
echo off
cls
call scala %1
pause

双击 HelloWorld.scala,根据我们的设置,会自动运行RunScala.bat 文件,输出

Hello World