欢迎关注Hadoop、Spark、Flink、Hive、Hbase、Flume等大数据资料分享微信公共账号:iteblog_hadoop
  1. 文章总数:977
  2. 浏览总数:11,944,996
  3. 评论:3936
  4. 分类目录:106 个
  5. 注册用户数:6113
  6. 最后更新:2018年12月13日
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
iteblog_hadoop
大数据技术博客公众号bigdata_ai
大数据猿:
bigdata_ai

在脚本中运行Scala

  Scala又一强大的功能就是可以以脚本的形式运行。我们可以创建一个测试文件iteblog.sh,内容如下:

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

println("Hello, Welcome to https://www.iteblog.com!")

然后我们就可以下面之一的方式运行这个Scala脚本:

[iteblog@www.iteblog.com iteblog]$ sh scala.sh 
Hello, Welcome to https://www.iteblog.com!

或者

[iteblog@www.iteblog.com iteblog]$ chmod 744 scala.sh
[iteblog@www.iteblog.com iteblog]$ ./scala.sh
Hello, Welcome to https://www.iteblog.com!

上面两种运行方式就像运行shell脚本一样,完全不需要知道里面是Scala代码。

  需要注意的是,在运行上述脚本必须事先配置好Scala环境,也就是可以在命令行里面直接用scala命令:

[iteblog@www.iteblog.com iteblog]$  scala
Welcome to Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_45).
Type in expressions to have them evaluated.
Type :help for more information.

scala>

  否则运行上述的脚本会出现以下的错误:

./scala.sh: line 2: exec: scala: not found

  可以将下面的内容加到你home目录的.bashrc文件里面或者是/etc/profile里面

SCALA_HOME=/home/iteblog/scala-2.10.4
PATH=$PATH:$SCALA_HOME/bin

  如果你需要传参到Scala脚本里面,可以将代码修改成:

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

args.foreach(println)

  上述代码的第二行中的$0和$@分别获取脚本的名称和参数。args的类型是List[String],所以我们可以使用List的所有方法,比如args.length,args.getClass等,所有传进脚本的参数都可以通过args变量获取。

本博客文章除特别声明,全部都是原创!
转载本文请加上:转载自过往记忆(https://www.iteblog.com/)
本文链接: 【在脚本中运行Scala】(https://www.iteblog.com/archives/1544.html)
喜欢 (7)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!