![旧 bash:意外标记“}”附近出现语法错误(bash 版本 3.2)](https://linux22.com/image/212983/%E6%97%A7%20bash%EF%BC%9A%E6%84%8F%E5%A4%96%E6%A0%87%E8%AE%B0%E2%80%9C%7D%E2%80%9D%E9%99%84%E8%BF%91%E5%87%BA%E7%8E%B0%E8%AF%AD%E6%B3%95%E9%94%99%E8%AF%AF%EF%BC%88bash%20%E7%89%88%E6%9C%AC%203.2%EF%BC%89.png)
我不明白这有什么问题:
$ {echo 3; echo 4; echo 5;} | cat
我明白了:
bash: syntax error near unexpected token `}'
我使用的是 bash 版本 3.2。在 zsh 5.8 版本上,似乎工作正常。老巴什为什么不喜欢这样呢?
答案1
从语法上看,我们需要一个空格:
{ echo 3; echo 4; echo 5;} | cat
~~ ^ ~~~
我不明白这有什么问题:
$ {echo 3; echo 4; echo 5;} | cat
我明白了:
bash: syntax error near unexpected token `}'
我使用的是 bash 版本 3.2。在 zsh 5.8 版本上,似乎工作正常。老巴什为什么不喜欢这样呢?
从语法上看,我们需要一个空格:
{ echo 3; echo 4; echo 5;} | cat
~~ ^ ~~~