首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >shell脚本:嵌套的子shell ++

shell脚本:嵌套的子shell ++
EN

Stack Overflow用户
提问于 2010-05-13 19:12:53
回答 1查看 2.5K关注 0票数 0

不仅仅是一个问题,这是对“另一种方法”的要求。

实际上,如果我想在另一个命令中使用前一个命令的结果,我使用:

代码语言:javascript
复制
R1=$("cat somefile |  awk '{ print $1 }'" )
myScript -c $R1 -h123

那么,“更好的办法”是:

代码语言:javascript
复制
myScript -c $("cat somefile |  awk '{ print $1 }'" ) -h123

但是如果我不得不多次使用这个结果呢?假设:使用几次$R1,那么两个选项是:

备选案文1

R1=$("cat somefile \ awk '{ print $1}“)

代码语言:javascript
复制
myScript -c $R1 -h123 -x$R1

备选案文2

代码语言:javascript
复制
myScript -c $("cat somefile |  awk '{ print $1 }'" ) -h123 -x $("cat somefile |  awk '{ print $1 }'" )

您知道另一种方法来“存储”前一个命令/脚本的结果并将其作为参数使用到另一个命令/脚本中吗?

EN

回答 1

Stack Overflow用户

发布于 2010-06-01 10:34:12

另一种不完美的方式:

源代码脚本#1,那么当脚本#2运行时,#1中声明的所有变量都可供#2使用。

代码语言:javascript
复制
#!/bin/ksh
.  myScript -c $("cat somefile |  awk '{ print $1 }'" ) -h123 
myScript2 

最好的选择是为您保存所有变量的包装器脚本,其他人都已经注意到了。

在bash中,内置命令与'dot‘相同。

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

https://stackoverflow.com/questions/2829576

复制
相关文章

相似问题

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