"阶"命令终止批处理脚本

时间:2012-11-29 12:57:16

标签: scala scripting command prompt terminate

在我工作期间,我碰到了一个有点奇怪的问题。对于这种行为可能有一个非常简单的解释,但对我来说这没有多大意义。

情况如下:

我写了一个批处理文件“test.bat”,现在看起来像这样:

echo 1
scala myProgram
echo 2

当我打开相应目录中的命令提示符并运行test.bat时,它以echoing 1开始,然后运行myProgram(它也有某些输出出现在控制台中,因此scala程序myProgram正常工作) - 和然后停下来。 2 not 出现在控制台中,控制台等待我输入另一个命令。

为什么会这样?是控制台出现故障吗?或scala命令?或者根本不是故障而且实际上意味着这样做?

我实际上要做的是将“scala myProgram”的输出重定向到一个文件(效果很好)并在scala程序终止后重命名这个文件,所以我的批处理文件看起来有点像这样:

scala myProgram > log.txt 2>&1
ren "log.txt" "log2.txt"

我对“log2.txt”从未创建的事实感到困惑。

非常感谢您的回答,谢谢。

1 个答案:

答案 0 :(得分:0)

-nc添加到scala命令对我有用:

    $ scala -nc /tmp/2.scala
    Hello world

所以我想,这个问题与编译守护进程有关

 -nc          no compilation daemon: do not use the fsc offline compiler

你能试试吗?