我是 unix-like 的新手。而且我遇到了一个奇怪的问题,我真的无法通过搜索找到答案。
#!/bin/bash
me=`basename "$0"`
echo $(ps -e | grep "$me" | wc -l)
ps -e | grep "$me" | wc -l
执行 bash 脚本后,echo 显示了 2,而 ps 只显示了 1,这就是我想要的。怎么会发生这种事呢?为什么 echo 显示了一个额外的进程?
最佳答案
正如 Charles Duffy 指出的,$() 创建一个子 shell
。这回答了我的问题。显然我还有很多东西要学。感谢您的所有帮助。
关于linux - Linux下的ps命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41597670/