概述
编译和运行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