如何在UNIX中获取Java类的返回值

时间:2012-09-24 05:09:25

标签: java shell unix

请建议一种在UNIX中从我的类中获取返回String的方法。

这是我的示例课程:

package com.mytest.package.main;

    public class DateExtractor {

        public static String getDate() {
          return "20120924";
        }

        public static void main (String[] args) {
           system.out.println(getDate());
        }

    }

我的UNIX脚本:

JAVA_BIN="/usr/bin"
log_dir="/usr/tmp/log"
JVM_OPTION="-Xms512m -Xmx2g -DprojectName=mytestproj -Dlog.dir=$log_dir"
CP="/usr/tmp"
MAIN_CLASS=com.mytest.package.main.DateExtractor

$NOHUP $JAVA_BIN/java ${JVM_OPTION:-} -classpath $CP $MAIN_CLASS 

预期结果:

echo $Data_from_getDate
20120924

4 个答案:

答案 0 :(得分:2)

使用:SimpleDateFormat,有很多日期格式

DateFormat Example

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yy");
    String dateAsString = simpleDateFormat.format(new Date());
    System.out.println(dateAsString);

答案 1 :(得分:1)

你可以从程序返回int代码(通常0表示成功,其他任何东西都是错误的)并以$获取它? shell变量 - 但不是字符串。在shell中使用println和your-program-here-来获取输出。

答案 2 :(得分:1)

您不能返回字符串,UNIX程序具有整数返回值(您可以使用System.exit(value)指定。

您使用Java打印的所有内容都采用标准输出,通常打印在终端上。

您可以使用

将输出存储在变量中
Data_from_getDate=$( $NOHUP $JAVA_BIN/java ${JVM_OPTION:-} -classpath $CP $MAIN_CLASS )
echo $Data_from_getDate

答案 3 :(得分:1)

两条建议:

将程序的输出放在标准输出

System.out.println(getDate());

在unix脚本中回显结果

echo `$JAVA_BIN/java ${JVM_OPTION:-} -classpath $CP $MAIN_CLASS`