如何在此 ubuntu 终端命令中仅引用一次 Main:"javac Main.java && java Main"?



我正在审查许多不同的Java程序,并试图弄清楚如何仅更新对程序名称的引用一次而不是两次。 有没有办法在单个终端命令中使用变量?:S

我正在尝试改进的命令是这种形式: javac Main.java && java Main

我只想更改对 Main 的引用一次,而不是每次键入两次。

你可以

像这样用一行来做到这一点:

PC=com/mycompany/Main && CN=$(echo $PC | tr / .) && javac $PC.java && java $CN

即使您有一个包名称,这也将起作用,因为它会自动将/替换为.以正确构建类的完整限定名。在上面的示例中,它将编译类com/mycompany/Main.java然后启动com.mycompany.Main

PC:指你的类的相对路径没有.java,这是你需要改变的

CN:指从上一个路径自动生成的类的完整限定名

您可以将其设置为环境变量。像这样,

export CLS=Main # Change Main once
javac $CLS.java && java $CLS # Will use "Main"

有时最简单的方法是最好的。 听起来你有很多程序要编译和运行。 我建议你把这些名字写成一个文本文件,如下所示:

Main
Foo
Bar

然后在编辑器中使用一些搜索和替换来使文本如下所示:

javac Main.java && java Main
javac Foo.java && java Foo
javac Bar.java && java Bar

|然后只需选择要运行的行并将它们粘贴到终端中即可。

当然,这取决于您预期的工作流程,但有时最简单的就是最好的。

相关内容

最新更新