有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用java作为linux shell脚本语言?

我以前使用过cshell/tcshell,然后转向python

现在我将把我所有的shell脚本、gui、数据库和网页集成在一起。Python在大多数工作中都很好,但在GUI、通用性能和第三部分库方面相对较弱

因此,我将尝试使用java作为我的主要开发语言。它擅长于shell交互编程,过程控制。。等等

非常感谢


共 (4) 个答案

  1. # 1 楼答案

    我编写了jpad,以允许运行java“shell脚本”和交互式代码段,同时还提供了很好的结果可视化。这说明了我的意思:

    JPad Java REPL

    要使用此脚本语言复制文件,请使用: http://jpad.io/example/1I/fileio

    final File file = new File("outt.csv");
    Object o = new int[] {1,2,3};
    JPad.writeCsv(o, file);
    java.nio.file.Files.copy(file.toPath(), Paths.get("copy.csv"));
    

    也可以从命令行运行,如下所示:

    > more fileio.jpad
    final File file = new File("outt.csv");
    Object o = new int[] {1,2,3};
    JPad.writeCsv(o, file);
    java.nio.file.Files.copy(file.toPath(), Paths.get("copy.csv"));
    > jpad fileio.jpad
    > dir
    29/04/2017  13:30    <DIR>          .
    29/04/2017  13:30    <DIR>          ..
    29/04/2017  13:30                16 copy.csv
    29/04/2017  13:30               160 fileio.jpad
    29/04/2017  13:30                16 outt.csv
    
  2. # 2 楼答案

    Java本身可能不是最好的shell语言,因为启动时间慢,没有内置的库来处理操作系统、命令和文件(我的意思是,如果不创建两个输入和输出流并管道化数据,甚至无法在Java中复制文件,哎呀!)

    然而!有很多基于JVM的语言,比如JRuby(ruby)、Rhino(javascript)、Jython(python)、Groovy或Grash、Bean shell等,它们与shell语言类似,可以运行其他Java编写的程序。我建议你看看Grash这可能正是你需要的

    其中一些语言甚至可以预加载JVM运行时以加快启动时间(例如JRuby的Nailgun),从而解决启动时间缓慢的问题。另请参见this post,了解如何使用Ruby(JRuby)作为shell语言

  3. # 3 楼答案

    启动JVM通常很慢,占用大量内存(与本机应用相比) 因此,它不适合运行许多(并行)小型应用程序(进程),这些应用程序(进程)经常启动和关闭。。。如果这是你的意图

  4. # 4 楼答案

    如果想将Java平台用作脚本语言,请查看Groovy