首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash vs sh不能使用未命名的流diff <(doSomething) <(doSomethingElse)

bash vs sh不能使用未命名的流diff <(doSomething) <(doSomethingElse)
EN

Stack Overflow用户
提问于 2013-04-19 20:18:12
回答 1查看 80关注 0票数 0

我想要比较两个流。我用bash编写了以下代码:

代码语言:javascript
复制
#!/bin/bash    
diff <({
#premier commentaire
cat test_similar1
}) <({
#second commentaire
cat test_similar2
})

啊,真灵。取而代之的是sh中的以下代码

代码语言:javascript
复制
#!/bin/sh    
diff <({
#premier commentaire
cat test_similar1
}) <({
#second commentaire
cat test_similar2
})

没有:它给出了以下错误。

代码语言:javascript
复制
test.sh: 2: test.sh: Syntax error: "(" unexpected

如何在我的RHEL服务器上使用sh而不是bash?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-19 20:23:51

sh不支持<(command)“进程替换”语法。您需要使用一些临时文件或命名管道来保存命令输出。当然,正确的临时文件管理是很困难的。

有一件事:如果你只是在进程替换中使用单个文件的cat,那么就没有必要进行替换。把文件名给diff就行了。

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

https://stackoverflow.com/questions/16104446

复制
相关文章

相似问题

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