编写 unix和 windows的 Scala 脚本
编写 unix和 windows的 Scala 脚本
今天在看《Scala 编程》的时候看到附录了,里面提到了怎么在 unix 和 windows 下面编写 scala 脚本。
之前我也一直想用 scala 来在 unix 下写一些脚本,代替 shell,因为我对 shell 说实话不是很熟悉。
先直接给出一个可以正常的运行的例子把:
#!/bin/sh
exec scala "$0" "$@"
!#
1.to(10).foreach(println)
上面的例子就是展示了在 unix 下面scala 脚本的例子,然后再 terminal 下面输入:
sh -x untitled.scala
就可以运行这个文件了。
下面粘贴出书中的附录的内容:
如果你比较喜欢 Unix 的某些风味,通过在文件顶端前缀一个“制式”标志(pound bang),你 可以像运行 shell 脚本那样运行 Scala 脚本。例如,把以下内容输入文件 helloarg:
#!/bin/sh
exec scala "$0" "$@"
!#
// 对第一个参数打招呼
println("Hello, " + args(0) + "!")
头文字#!/bin/sh 必须在文件里最开头一行。一旦你设置了它的执行许可:
$ chmod +x helloarg
你就可以像 shell 脚本那样运行 Scala 脚本,输入:
$ ./helloarg globe
如果你在 Windows 平台,可以把文件命名为 helloarg.bat 并把以下内容放在脚本头,来达到 同样效果:
::#!
@echo off
call scala %0 %*
goto :eof
::!#
同时也看到了这篇文章《Scala 脚本的 pound bang 魔术》http://www.cnblogs.com/agateriver/archive/2010/09/07/scala_pound_bang.html
文章中介绍了一些原理,推荐大家看看。
编写 unix和 windows的 Scala 脚本的更多相关文章
- shell脚本兼容linux/unix与windows/cygwin的基础(注意处理好CR, LF, CR/LF 回车 换行的问题)
shell脚本兼容linux/unix与windows/cygwin的基础 :统一文本格式为:unix文本格式,即于LF为换行符(推荐方案) 在notepad上设置:编辑->档案格式转换-> ...
- windows基线检测脚本编写指南-powershell版
前言: 因为工作的原因,要写windows下的基线检查脚本.之前没接触过,在网上找了半天也没找到现成的,无奈只好自己研究,最后还是成功完成了工作. 在我编写之后发现windows下的基线基本就是检 ...
- [原创]Scala学习:编写Scala脚本
scala支持脚本 1)在/opt/scala-script下创建一个文件hello.scala 编辑内容如下: $ hello ,this is the first scala script 2)运 ...
- 操作系统Unix、Windows、Mac OS、Linux的故事
电脑,计算机已经成为我们生活中必不可少的一部分.无论是大型的超级计算机,还是手机般小巧的终端设备,都跑着一个操作系统.正是这些操作系统,让那些硬件和芯片得意组合起来,让那些软件得以运行,让我们的世界在 ...
- [Oracle] UNIX与Windows 2000上Oracle的差异(II)
作者:Ian Adam & David Stien, SAIC Ltd 日期:19-Dec-2003 出处:http://www.dbanotes.net翻译:Fenng 数据库启动与关闭 在 ...
- [Oracle]UNIX与Windows 2000上Oracle的差异(I)
作者:Ian Adam & David Stien, SAIC Ltd 日期:19-Dec-2003 出处:http://www.dbanotes.net翻译:Fenng ---------- ...
- 解决Windows下编辑脚本上传到Linux后遇到^M的方法
Windows下编辑脚本上传到Linux后遇到^M,导致脚本无法执行,原因是因为Linux与Windows对 "回车键" 编码不同 解决方法如下: 在使用UE->文件-> ...
- sbit命令行中运行scala脚本
一般sbit编译器采成了scala运行工具.启动sbit命令行,输入console,命令行自动切换到scala编辑器面. scala>:paste 然后手动将XXX.scala中的代码拷贝到界面 ...
- Windows下通过脚本快速修改IP地址
Windows下通过脚本快速修改IP地址 如果通过Windows的网络属性修改Ip/网关,真是太麻烦了. 经常要切换ip,所以我写了两个脚本: c:\办公室.bat netsh interface i ...
随机推荐
- WPF依赖属性
原文:http://www.cnblogs.com/xiongpq/archive/2010/06/29/1767905.html 概述: Windows Presentation Foundatio ...
- 数据库MongoDB查询语句--持续更新
模糊查询: 包含字符串str : find({'name':/str/i}); {'name':/str/} 以str开头: {'name':/^str/} $in查询: 字段:{ field: ...
- centos 服务器内存管理
du su /目录/ 查看改目录大小 ls -lht / 查看文件详情,显示文件大小(直观) df -h 查看系统内存占用情况
- 什么是smarty?
什么是smarty? Smarty是一个使用PHP写出来的模板PHP模板引擎,由PHP.net官方提供 ,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程 序员同美工分离,使用的程序员改 ...
- webservice的常用注解
定义说明书的显示方法1.@WebService(serviceName="PojoService", portName="PojoPort", name=&qu ...
- Android-动画简介
Android中动画分为3种: ween Animation:通过对场景里的对象不断做图像变换(平移.缩放.旋转)产生动画效果,即是一种渐变动画: 也称View动画:也叫渐变动画,针对View的动画, ...
- 顺序队列的C语言实现
#include <stdio.h> #define MAXSIZE 101 #define ELEMTYPE int #define QUEUE_EMPTY -10000 typedef ...
- [转]Hibernate时间总结
原文地址:http://blog.csdn.net/woshisap/article/details/6543027 1:Hibernate操作时间需要注意的问题 hibernate很大的一个特点就是 ...
- [转]Servlet 中文乱码问题及解决方案剖析
原文地址:http://blog.csdn.net/xiazdong/article/details/7217022/ 一.常识了解 1.GBK包含GB2312,即如果通过GB2312编码后可以通过G ...
- 关于volatile的可见性问题
volatile的定义是:volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的‘可见性’,可见性的意思是当一个线程修改一个共享变量时,另外一个线程能够读到这个修改的值 ...