-2

我已经完成了一个 shell 脚本,它获取.jar文件的输出并分配给一个变量。

奖励生成器.sh

APP_ROOT=/home/testApps/
JAR=${APP_ROOT}ClusterGenerator/generator.jar

#get clusters
clusters=$(loadClusters $1)

for i in `echo $clusters | sed 's/,/ /g'`
do
    #pull cluster records from database and save query return status to $x
    x=$(/usr/IBM/WebSphere/ProcServer/java/bin/java ${JAR} ${i/-/_} 2>&1)
done

基本上,我对 java 应用程序所做的就是System.out.print查询返回状态。然后使用2>&1in bash 进入输出流并将值分配给 shell 脚本变量。

现在如何获取 perl 脚本的返回值并将其分配给 shell 脚本变量?它与我上面所做的相同还是有其他方法可以做到这一点?

4

2 回答 2

1

您可以使用反引号在 bash 脚本中记录外部命令的输出。

这是一个简单的例子:

#!/bin/bash

# Execute the script, recording output to a variable
x=`/path/to/script.pl`

# Display or act on the output some time later
echo "script output: $x"
于 2012-08-02T05:09:50.470 回答
1

现在如何获取 perl 脚本的返回值并将其分配给 shell 脚本变量?

#! /bin/bash
perl script.pl
return_value=$?
于 2012-08-02T09:02:57.330 回答