linux – 不支持进程替换
发布时间:2020-12-13 19:06:51 所属栏目:Linux 来源:网络整理
导读:在Centos 6机器上,这适用于: bash -c 'if grep -qP --line-buffered ".+" 这不是: sh -c 'if grep -qP --line-buffered ".+" 我明白了: sh: -c: line 0: syntax error near unexpected token `('sh: -c: line 0: `if grep -qP --line-buffered ".+" 没关
在Centos 6机器上,这适用于:
这不是:
我明白了:
没关系grep和tail.问题在于过程替换问题:<(...)
有人可以告诉我这里有什么不同吗?
[编辑]
谢谢你的回答!
使用capistrano进行部署时出现了问题.它默认使用sh,但我现在将其更改为bash. 最佳答案
语法<(...)仅由BASH支持.
对于任何POSIX shell,请使用以下方法:
即使用管道移动if前面的stdin重定向. if会将stdin传递给grep. 如果尾… | grep将无法工作,因为if将无法看到它/ fi,因为管道分离进程. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |