1

请用递增值来解释这个问题,我们有下一个名为 test.sh 的文件

#!/bin/bash

ps aux | grep test.sh -c
echo $(ps aux | grep test.sh -c)

然后运行它

$ ./test.sh
2
3

我知道 grep slice 之后有两行(1 带有 test.sh,2 带有 grep),为什么 3 进来?谢谢

4

1 回答 1

1

您进入3第二种情况是因为第二个命令$(...)(即命令替换)在subshel​​l中执行。

手册

命令替换、用括号分组的命令和异步命令在作为 shell 环境副本的子 shell 环境中调用,...

于 2013-09-30T08:00:00.347 回答