Un alias
non è fatto per accettare parametri, definisci una funzione come questa:
jcar() { javac $1.java && java $1 ; }
Allora usalo:
jcar Program
(jcar
era inteso come acronimo di java-compile-and-run)
Aggiungendo alla risposta di enrico.bacis, personalmente non mi piace che i file Program.class ingombrino il mio spazio di lavoro se sto solo testando un programma, quindi lo farei
jcar() { javac $1.java && java $1 && rm $1.class}
inoltre, ho trovato utile intrappolare ctrl-c
in modo che anche se chiudo il programma a metà, rimuove comunque il .class
jcar() {
trap "rm $1.class" SIGINT SIGTERM
javac $1.java
java $1
rm $1.class
}
Da Java 11 puoi utilizzare un singolo comando
java example.java
https://openjdk.java.net/jeps/330
Collegato:come compilare ed eseguire un singolo comando in java