gpt4 book ai didi

shell - shell脚本中添加diff命令报错 "syntax error near unexpected token ` (' "

转载 作者:行者123 更新时间:2023-12-05 04:18:22 30 4
gpt4 key购买 nike

我在 shellscript 中运行 diff 时遇到问题,它是 syntax error near unexpected token('`代码:

我有 2 个文件文件 A、文件 B,我想比较 2 个文件并在脚本中使用:

diff <( sort fileA ) <( sort FileB )

但是运行时报错:

syntax error near unexpected token `('

请帮帮我!谢谢大家!

最佳答案

归功于@shellter。您正在使用的构造称为 process substitution ,这不是由 POSIX 标准定义的,因此您不能依赖所有实现此功能的 shell。

此外,当您遇到此类问题时,请始终确保您实际上是通过您打算使用的 shell 运行脚本,如果您在这里询问有关 shell 脚本的问题,请说明您正在使用哪个 shell 或您需要针对您的问题,因为这会产生很大的不同。

这里有一些例子来证明这在例如bashksh,但不是在例如破折号:

$ bash -c 'diff <( sort file1 ) <( sort file2 )'
2c2
< file1
---
> file2

$ ksh -c 'diff <( sort file1 ) <( sort file2 )'
2c2
< file1
---
> file2

$ dash -c 'diff <( sort file1 ) <( sort file2 )'
dash: 1: Syntax error: "(" unexpected

$ sh -c 'diff <( sort file1 ) <( sort file2 )'
sh: -c: line 0: syntax error near unexpected token `('

关于shell - shell脚本中添加diff命令报错 "syntax error near unexpected token ` (' ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15944859/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com