使用逻辑操作#&&,#|| cmd1 #&& cmd2 cmd1 #|| cmd2 使用管道: cmd1 #| cmd2 也就是说要加个#在前面 使用重定向时:a #< file or file #> a a可以是一个文件或者一个命令,如: file(“blog.html”) #> file(“fuliang_blog.html”) ! 还可以使用 #>> #<<追加操作: a #>> file or file #<<
package com.dt.scala.moguyun /** * scala外部命令 * scala.sys.process提供了shell和系统交互的DSL,包括执行命令、逻辑操作、重定向、管道等操作。 * Created by hlf on 2016/8/13. */ object CMD { def main(args: Array[String]) { //要导入这个包 import scala.sys.process._ //使用!来执行外部命令 "ping www.baidu.com" ! val pingCMD = "ping www.baidu.com" ! //这里在上面得空一行,不然报错,真郁闷,猜测可能是!是执行命令,不能马上加其他执行语句 println(pingCMD) } } 结果 正在 Ping www.a.shifen.com [14.215.177.37] 具有 32 字节的数据: 来自 14.215.177.37 的回复: 字节=32 时间=7ms TTL=56 来自 14.215.177.37 的回复: 字节=32 时间=6ms TTL=56 来自 14.215.177.37 的回复: 字节=32 时间=6ms TTL=56 来自 14.215.177.37 的回复: 字节=32 时间=7ms TTL=56 14.215.177.37 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 6ms,最长 = 7ms,平均 = 6ms 正在 Ping www.a.shifen.com [14.215.177.37] 具有 32 字节的数据: 来自 14.215.177.37 的回复: 字节=32 时间=7ms TTL=56 来自 14.215.177.37 的回复: 字节=32 时间=7ms TTL=56 来自 14.215.177.37 的回复: 字节=32 时间=7ms TTL=56 来自 14.215.177.37 的回复: 字节=32 时间=6ms TTL=56 14.215.177.37 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 6ms,最长 = 7ms,平均 = 6ms 0 Process finished with exit code 0感谢[DT大数据梦工厂]首席专家Spark专家王家林老师的课程分享。更多精彩内容请扫描关注[DT大数据梦工厂]微信公众号DT_Spark