概述
编译和运行java分别要用到javac命令和java命令,虽然可以使用IDE(比如eclipse,InteliJ,NetBean...),按一下快捷键就可以实现编译并运行,但是,在之前还要配置一下,对于初学Java的同学来说,如果开始就用IDE,可能对于配置有点懵,还不如简简单单的写两条命令呢。
为什么不直接使用javac file.java && java file这一条命令了?因为如果是切换文件,就不是特别方便了,还要修改一下命令。可以考虑写shell脚本,将文件名传入即可,只需要输入一次。
为什么要写一个shell脚本来做这个事呢? 因为平时写php和python习惯了在命令行中使用命令来运行,老毛病,暂时改不了。而且发现java编译真的好慢。
代码如下
#!/bin/bash # BuildAndRun.sh # 编译并运行java代码 file=$1 # 根据文件名来获取生成的class名称 class=$(echo $file | awk -F '.' '{print $1}') echo "开始编译,请等待!!!" echo "------------------------------------" # 编译 javac $file if [ $? -eq 0 ]; then echo "编译成功, 准备运行!!!" echo "------------------------------------" # 运行 java $class if [ $? -eq 0 ]; then echo "------------------------------------" echo "运行完毕!!!" else echo "------------------------------------" echo "运行时出错!!!" fi else echo "------------------------------------" echo "编译时出现错误!!!" fi # 防止影响后面的测试,运行完毕之后,可以将生成的class文件删除 if [ -f $class.class ]; then rm -rf $class.class fi
运行测试
$ cat Test.java public class Test{ public static void main(String [] args) { System.out.println("hello world"); } } $ ./BuildAndRun.sh Test.java 开始编译,请等待!!! ------------------------------------ 编译成功, 准备运行!!! ------------------------------------ hello world ------------------------------------ 运行完毕!!!
github地址
https://github.com/searchingbeyond/CompileAndRunJava/tree/master