-2

.jarファイルの出力を取得して変数に割り当てるシェルスクリプトを作成しました。

rewards_generator.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>&1、bash を使用して出力ストリームに入り、値をシェル スクリプト変数に割り当てました。

perl スクリプトの戻り値を取得し、それをシェル スクリプト変数に割り当てるにはどうすればよいでしょうか。それは私が上で行ったものと同じですか、それともこれを行うための他のアプローチはありますか?

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 スクリプトの戻り値を取得し、それをシェル スクリプト変数に割り当てるにはどうすればよいでしょうか。

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