Ein alias
nicht dafür gemacht ist, Parameter zu akzeptieren, definieren Sie eine Funktion wie diese:
jcar() { javac $1.java && java $1 ; }
Dann verwenden Sie es:
jcar Program
(jcar
war als Akronym für java-compile-and-run gedacht)
Ergänzend zur Antwort von enrico.bacis möchte ich persönlich nicht, dass Program.class-Dateien meinen Arbeitsbereich überladen, wenn ich nur ein Programm teste, also würde ich es tun
jcar() { javac $1.java && java $1 && rm $1.class}
Außerdem fand ich es hilfreich, ctrl-c
zu trappen Selbst wenn ich das Programm halbwegs beende, wird immer noch .class
entfernt
jcar() {
trap "rm $1.class" SIGINT SIGTERM
javac $1.java
java $1
rm $1.class
}
Seit Java 11 können Sie einen einzigen Befehl verwenden
java example.java
https://openjdk.java.net/jeps/330
Verknüpft:Wie man in einem einzigen Befehl in Java kompiliert und ausführt