【发布时间】:2013-01-12 09:21:10
【问题描述】:
我正在尝试编写一个简单地编译 java 文件然后运行它的 bash 脚本
#!/bin/bash
read name
javac $name
$name | sed -r "s/.java//" | java
但不是运行 java 文件,而是打开 java。
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
blah blah blah
【问题讨论】:
-
可能是因为您试图通过管道输入 Java,而不是像使用说明所说的那样运行 Java。为什么不能只使用 java ${name/.java/} 并利用 bash?
-
是否有充分的理由避免使用 IDE?一键编译运行程序。
-
@PeterLawrey IMO 是的,有,因为您可能没有 IDE,或者可能正在尝试自动化某些过程,或者您只是想学习新知识。
-
为新事物点赞。但是,如果您没有 IDE,则应该购买一个。恕我直言,在当今这个时代,没有充分的理由以艰难的方式做事。如果你想自动化构建,我建议使用 maven 或 ant。
-
在下面寻找@nneonneo 的答案。作为参考,这是您使用方法的方式:
echo "$name" | sed -r "s/\.java//" | xargs java