【问题标题】:Use output of a command to feed another one使用命令的输出来喂另一个命令
【发布时间】:2015-08-18 15:38:27
【问题描述】:

我有一个输出 IP 地址列表的命令;例如:

bash test3.sh

输出是:

10.4.128.2 10.4.128.3 10.4.128.4 10.4.128.5

我想使用这些输出作为参数运行命令,如下所示:

fio --client 10.4.128.2 jobfile1 --client 10.4.128.3 jobfile1 --client 10.4.128.4 jobfile1 --client 10.4.128.5 jobfile1

我该怎么做?

【问题讨论】:

    标签: linux shell for-loop awk


    【解决方案1】:

    你可以使用printf:

    out=$(bash test3.sh)
    printf "fio"; printf " --client %s jobfile1" $out; echo
    fio --client 10.4.128.2 jobfile1 --client 10.4.128.3 jobfile1 --client 10.4.128.4 jobfile1 --client 10.4.128.5 jobfile1
    

    【讨论】:

    • 很好的答案——我忘记了(或者可能从来不知道)printf 会重复直到它的参数被消耗掉。使用此技术的其他人注意:printf 格式字符串中的前导空格很重要:如果您以 - 开头格式,您需要告诉 printf 它的选项已结束:printf -- "--client %s jobfile1 "。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 2013-11-08
    相关资源
    最近更新 更多