我在 Ubuntu 16.04 上使用 bash。今天我注意到以下形式的命令:
cmd1 <(cmd2)
给我错误
-bash: syntax error near unexpected token `('
几天前,非常相似的命令在同一个系统上运行,并且它们在我的另一个 Ubuntu 系统上运行。为什么这种格式突然不再在该系统上工作?
答案1
事实证明,在我的会话早些时候我已经运行了命令
set -o posix
让其他东西工作,但是 POSIX 不支持进程替换,因此使用它的命令失败。
执行以下操作修复了该情况:
set +o posix