echo hello && $(echo "world") 失败并显示“bash:world:命令未找到”

echo hello && $(echo "world") 失败并显示“bash:world:命令未找到”

完整的命令是% echo hello && $(echo "world"),其中%是 shell 提示符。

为什么会失败?

我注意到该错误与我直接在 bash 上运行命令替换相同

% $(echo "world")

答案1

它尝试运行命令“hello”,但失败了,因为您的系统上不存在该二进制文件。

echo 的参数应该用引号引起来,即:

echo "hello"

答案2

分组是错误的。

要在 bash 中对命令进行分组,请使用大括号,如下所示:

% echo hello && { echo "world"; }

有关语法的一些注释:

  • 开始的大括号必须与 分开echo,否则它将被视为命令名称的一部分,称为{echo
  • 括号内的命令序列必须以分号结尾;

控制操作参见本页“3.分组语句”部分:http://mywiki.wooledge.org/BashGuide/TestsAndConditionals#Control_Operators_.28.26.26_and_.7C.7C.29

相关内容