首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有向管道执行脚本传递参数/选项的方法?

是否有向管道执行脚本传递参数/选项的方法?
EN

Stack Overflow用户
提问于 2016-11-03 21:58:18
回答 2查看 149关注 0票数 1

我们知道可以在bash中做以下几点:

代码语言:javascript
运行
复制
curl -Ls example.com/script.sh | bash

但我们能通过一些论据吗?

代码语言:javascript
运行
复制
curl -Ls example.com/script.sh | bash --option1

在这种情况下,bash将选择该选项。可以有什么方法把它传递给脚本吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-03 22:02:12

这就是-s选项的目的:

代码语言:javascript
运行
复制
curl -Ls example.com/script.sh | bash -s -- --option1

由于-s显式地告诉bash从标准输入读取其命令,所以它不尝试将其第一个参数解释为读取命令的文件。相反,所有参数都用于设置位置参数。

或者,您可以使用进程替换,而不是直接从标准输入读取。

代码语言:javascript
运行
复制
bash <(curl -Ls example.com/script.sh) --option1
票数 2
EN

Stack Overflow用户

发布于 2016-11-03 22:06:46

你可以这样做:

代码语言:javascript
运行
复制
( echo 'set -- --option1' && curl -Ls example.com/script.sh ) | bash 

若要在set命令前面添加输入,请执行以下操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40411939

复制
相关文章

相似问题

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