Un alias
no está hecho para aceptar parámetros, defina una función como esta:
jcar() { javac $1.java && java $1 ; }
Entonces úsalo:
jcar Program
(jcar
fue pensado como un acrónimo de java-compile-and-run)
Agregando a la respuesta de enrico.bacis, personalmente no me gusta tener archivos Program.class abarrotando mi espacio de trabajo si solo estoy probando un programa, así que lo haría
jcar() { javac $1.java && java $1 && rm $1.class}
además, encontré útil atrapar ctrl-c
de modo que incluso si termino el programa a la mitad, aún elimina el .class
jcar() {
trap "rm $1.class" SIGINT SIGTERM
javac $1.java
java $1
rm $1.class
}
Desde Java 11 puedes usar un solo comando
java example.java
https://openjdk.java.net/jeps/330
Vinculado:Cómo compilar y ejecutar en un solo comando en java