0

请建议一种从我的 UNIX 课程中获取返回字符串的方法。

这是我的示例类:

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

4 回答 4

2

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

日期格式示例

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yy");
    String dateAsString = simpleDateFormat.format(new Date());
    System.out.println(dateAsString);
于 2012-09-24T05:19:10.170 回答
1

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

于 2012-09-24T05:17:00.137 回答
1

你不能返回字符串,UNIX 程序有一个整数返回值(你可以用System.exit(value).

您在 Java 中打印的所有内容都会输出到标准输出,并且通常会打印在终端上。

您可以将输出存储在一个变量中

Data_from_getDate=$( $NOHUP $JAVA_BIN/java ${JVM_OPTION:-} -classpath $CP $MAIN_CLASS )
echo $Data_from_getDate
于 2012-09-24T05:20:51.627 回答
1

Two recommendations:

Put the output of your program on the standard output

System.out.println(getDate());

To echo the result in your unix script

echo `$JAVA_BIN/java ${JVM_OPTION:-} -classpath $CP $MAIN_CLASS`
于 2012-09-24T05:21:51.647 回答