您的位置:首页 > 运维架构 > Shell

linux下用shell运行java代码

2013-10-03 07:24 387 查看
一直以来都是用eclipse运行java,今天学会了如何在linux下运行java代码,并且通过编写shell可以改变不同参数传入java代码。

让我们先写一个简单的java代码 放入 workspace/test/src 目录下:

import java.util.*;

public class fortest {

/**
* Two args
*/
public static void main(String[] args) {
System.out.println("************");
System.out.println(args[0] + " VS " +args[1]);
System.out.println("**********");

}

}


之后我们在linux命令行下运行如下代码 编译这个java代码。:

~/workspace/test/src$ javac fortest.java


于是在workspace/test/bin 目录下就有了 fortest.class 可以运行。

如果你想直接运行就直接在命令行输入 java fortest 即可

接下来我们编写shell。 这个shell就是当第一个参数是1的时候,我们把第二个第三个参数传入fortest的main函数,如果是2,我们就把第三个第二个参数传入。

这里$符号是用来表明后面的是变量。

#!/bin/sh
ORDER="$1"
COMPANY_ONE="$2"
COMPANY_TWO="$3"
if [ "$ORDER" = "1" ]; then
java fortest  $COMPANY_ONE $COMPANY_TWO
elif [ "$ORDER" = "2" ]; then
java fortest  $COMPANY_TWO $COMPANY_ONE
else
echo "Unknown company: $ORDER";
exit 1;
fi

之后需要把shell编程可以执行文件,具体操作是

chmod u+x run.sh


于是run.sh就是可执行文件了。

之后让我们运行看看结果:

~/workspace/test/bin$ ./run.sh 1 google apple
************
google VS apple
**********
~/workspace/test/bin$ ./run.sh 2 google apple
************
apple VS google
**********


这篇文章主要希望帮助一些和我一样的shell菜鸟学会以下事情:
1, 如何在linxu 命令行直接编译执行java程序

2, 如何通过编写shell文档,可以简化,甚至可以控制不同参数的传入。

当然如果编写loop在shell文档,我们可以看到非常方便的循环运行同一个文档
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: