首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将命令行中的本地“`curl`”结果传递给一行中的远程服务器?

如何将命令行中的本地“`curl`”结果传递给一行中的远程服务器?
EN

Stack Overflow用户
提问于 2014-11-20 08:51:14
回答 2查看 437关注 0票数 2

我希望在一个单行shell中做一些类似于下面的工作。

代码语言:javascript
运行
复制
curl -s icanhazip.com | ssh user@host 'php /path/to/script.php "[PASS_IP_HERE]"'

我需要将本地IP传递给远程服务器,最好是一行。

今天我这样做:

代码语言:javascript
运行
复制
curl -s icanhazip.com // manually copy result
ssh user@host 'php /path/to/script.php "[PASTE_RESULT_HERE]"'

假设本地IP为1.2.3.4,而远程IP为5.6.7.8,则所需结果更接近于:

代码语言:javascript
运行
复制
> curl -s icanhazip.com
1.2.3.4
> ssh user@5.6.7.8 'php /path/to/script.php "1.2.3.4"'
//          How can I pass this dynamically? ---^
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-20 09:00:20

您可以使用命令替换:

代码语言:javascript
运行
复制
ssh -t user@host "php /path/to/script.php $(curl -s icanhazip.com)"
票数 1
EN

Stack Overflow用户

发布于 2014-11-20 08:56:51

可能是这样的:

代码语言:javascript
运行
复制
curl -s icanhazip.com | xargs -I{} ssh user@host 'php /path/to/script.php {}'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27035285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档