How to reference Main once only in this ubuntu terminal command: “javac Main.java && java Main”?

允我心安 提交于 2019-12-01 09:59:57

You can do it with one line like this:

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

This will work even if you have a package name as it will automatically replace / with . to build properly the full qualified name of your class. In the example above it will compile the class com/mycompany/Main.java then launch com.mycompany.Main

PC: Refers to the relative path of your class without .java, this what you will need to change

CN: Refers to the full qualified name of your class automatically built from the previous path

You could set it as an environment variable. Something like,

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

Sometimes the simplest approach is best. It sounds like you have a bunch of programs to compile and run. I would suggest you put those names into a text file, like this:

Main
Foo
Bar

and then use some search and replace in the editor to make the text like this:

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

|Then just select the lines to run and paste them into the terminal.

Of course, it depends on your expected workflow, but sometimes the simplest is the best.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!