java将特定值返回给shell脚本

时间:2013-04-10 06:56:28

标签: java shell

public class Test200 {
    public static void main (String args []) {
        System.out.println("David");
        System.out.println("Peter");
}

}

output=$(java Test200)
echo $output

我得到了David Peter的两个值。假设我只想在shell脚本中返回“David”?任何线索?感谢。

2 个答案:

答案 0 :(得分:4)

您不会返回"David""Peter",而是将其打印到STDOUT。因此,如果您只想打印其中一个,请删除其他println来电。

您只能将整数值返回给shell。这是由System.exit(status)完成的。

答案 1 :(得分:0)

尝试使用 grep 命令,以便使用 egrep

为多个值单独返回预期值
output=$(java Test200)

改为使用

output=$(java Test200 | grep 'David')

但我没有测试过这段代码,它应该有用。

或试试这个

java Test200 >> outfile

所有SYSOUT都会重定向到outfile,你可以用外部脚本进行操作。