获取spec文件中使用的shell函数的输出

获取spec文件中使用的shell函数的输出

您好,我需要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)-release (x86_64-redhat-linux-gnu)。

答案1

您可以使用命令替换将命令或函数打印的输出存储stdout到 shell 变量中:

my_value=$(get_server_ip)

在您的脚本中,会将打印的字符串存储get_server_ip()到变量中my_value,然后您可以像往常一样"$my_value"在进一步的脚本代码中使用它。

如果您从 RPM 规范文件运行此文件,请务必bash使用适当的指令将其定义为要求Requires(请参阅这里例如)。

相关内容