使用bash编译Java时出现无效标志错误

时间:2019-04-08 23:39:39

标签: java bash ubuntu

我正在尝试编写一个简单的脚本来编译我的Java代码。 当我放

javac Main.java

在我的compile.sh中执行

bash compile.sh

我得到error: invalid flag: Main.java

但是,如果我只是简单地使用命令javac Main.java,那么一切都会很好。

我在Win10上使用Ubuntu VirtualBox。 如何使脚本正常工作?

1 个答案:

答案 0 :(得分:2)

这是您遇到的问题:

$ cat compile.sh
javac Main.java

$ bash compile.sh
javac: invalid flag: Main.java
Usage: javac <options> <source files>
use -help for a list of possible options

发生这种情况是因为脚本使用DOS样式行结尾:

$ cat -v compile.sh
javac Main.java^M

您可以通过设置编辑器以使用Unix行终止符或其他方式保存它来修复它。 tr

$ tr -d '\r' < compile.sh > fixed.sh
(no output)

$ cat -v fixed.sh
javac Main.java

它现在可以按预期工作:

$ bash fixed.sh
(no output)