是否可以将linux管道中的值放入curl查询字符串参数中?
我有一个来自命令的数字输出,让我们说:
sh -c 'exit 1' ; echo $?
或者
bc <<< "1 + 1"
我需要通过 curl 在 GET 请求中发送它,比如http://example.com/?value=1
我试过这个:
sh -c 'exit 1' ; echo $? | curl -G -d @- http://example.com/
但它只是有一个带有名称1和empty值的参数。
我知道我可以这样做:
result=`sh -c 'exit 129' ; echo $?` | curl -G -d value=${result} http://example.com
但我想保持命令的第一部分不变,只修改管道后的部分。是否可以?
回答
我发现的一种可能的解决方案:
sh -c 'exit 129'; echo $? | xargs -I '{}' curl -G "http://example.com?value={}";