首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过管道传递脚本的参数

问通过管道传递脚本的参数
EN

Stack Overflow用户
提问于 2013-02-05 02:28:46
回答 3查看 16.6K关注 0票数 46

我有这个示例shell脚本:

代码语言:javascript
复制
echo /$1/

所以我可能会打电话给

代码语言:javascript
复制
$ . ./script 5
# output: /5/

我想通过管道将脚本传递给sh(ell),但是我也可以传递arg吗?

代码语言:javascript
复制
cat script | sh 
# output: //
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-05 02:41:14

您可以使用-s选项将参数传递给shell:

代码语言:javascript
复制
cat script | bash -s 5
票数 53
EN

Stack Overflow用户

发布于 2018-12-04 11:52:51

使用bash -s -- <args>

例如,安装google cloud sdk

~ curl https://sdk.cloud.google.com | bash -s -- --disable-prompts

票数 27
EN

Stack Overflow用户

发布于 2021-05-28 04:54:15

代码语言:javascript
复制
cat script | sh -s -- 5

-s参数告诉sh从标准输入中获取命令,并且不需要文件名作为位置参数。(否则,如果没有-s,则下一个非标志参数将被视为文件名。)

--告诉sh停止处理更多的参数,以便它们只被脚本获取(而不是应用到sh本身)。当您需要向脚本传递必须被sh忽略的以-或-- (例如:--dry-run)开头的标志时,这很有用。还要注意,单个-等同于--。

代码语言:javascript
复制
cat script | sh -s - --dry-run
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14693100

复制
相关文章

相似问题

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