微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

什么是这个Bash和/或其他shell?构造调用?

bash中的结构叫做什么,你可以把一个输出到stdout的命令包装起来,这样输出本身就像一个stream一样被处理。 如果我没有描述得那么好,也许一个例子会做的最好,这就是我通常用它来做的:把diff应用到不是来自文件输出,而是来自其他命令,

cmd

被包裹为

<(cmd)

通过以这种方式包装一个命令,在下面的例子中,我确定我正在运行的两个命令之间有一个差异,然后我能够确定一个精确的差异。 什么是包装一个命令作为<(cmd)调用的构造/技术? 谢谢

[builder@george v6.5 html]$ git status | egrep modified | awk '{print $3}' | wc -l 51 [builder@george v6.5 html]$ git status | egrep modified | awk '{print $3}' | xargs grep -l 'Ext.define' | wc -l 50 [builder@george v6.5 html]$ diff <(git status | egrep modified | awk '{print $3}') <(git status | egrep modified | awk '{print $3}' | xargs grep -l 'Ext.define') 39d38 < javascript/reports/report_initiator.js

附录使用git的ls-file的build议修改后的命令应该如下(未经testing):

使用“uniq -c”命令时需要从输出删除计数

xargs bash -c意外标记

并行运行bash shell并等待

Linux脚本意外的文件结尾错误

Windows bashpipe理员的上下文菜单

diff <(git ls-files -m) <(git ls-files -m | xargs grep -l 'Ext.define')

我应该使用参数还是导出环境variables?

为什么我不能在符号链接中使用“..”中的文件

在bash脚本中检查C程序的返回值?

为Cygwin设置PHPvariablespath

find命令的“exec”function可以在后台启动一个程序吗?

它被称为进程替代 。

这被称为Process Substitution

就像你所说的那样,这就是过程替代。 我只想指出,这也适用于另一个方向。 使用>(cmd)的进程替换允许您执行写入文件的命令,而将输出重定向到另一个命令的stdin。 将某些输入文件名作为参数的管道插入是非常有用的。 你不会看到这么多,因为几乎所有的标准命令都会写入stdout,但是我经常使用自定义的东西。 这是一个人为的例子:

$ echo "hello world" | tee >(wc) hello world 1 2 12

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐