仕様ファイルで使用されるシェル関数の出力を取得する

仕様ファイルで使用されるシェル関数の出力を取得する

echoこんにちは。 RPM仕様ファイル内の関数から(ビルドを介して)出力を取得する必要があります。

機能は

get_server_ip() {
        some staff
        echo $nodeip
        return 0
}

私のソースファイルにあります。

source /usr/local/lib/script.sh

スクリプト内の関数から値を取得し、パラメータとして使用するにはどうすればよいですかssh-keygen?私はGNU Bashバージョン4.2.46(2)-リリース(x86_64-redhat-linux-gnu)を使用しています。

答え1

コマンド置換を使用して、コマンドまたは関数によって印刷された出力をシェル変数stdoutに保存できます。

my_value=$(get_server_ip)

スクリプトから印刷された文字列はget_server_ip()変数に保存され、my_value通常どおり追加の"$my_value"スクリプトコードで使用できます。

RPM仕様ファイルでこのファイルを実行する場合は、bash適切なディレクティブを使用して要件として定義する必要がありますRequires(参照ここ例えば)。

関連情報