linux - Linux下的ps命令

标签 linux bash echo ps

我是 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/

相关文章:

linux - 用于按名称删除文件夹中文件的 SSH 命令

linux - 内核中的 malloc

regex - 如何删除与模式匹配的特定数量的随机行

javascript - javascript 中是否有等效的 php echo/print

ubuntu 服务器上的 laravel websockets 和 pusher-js CROS 问题

c - 为私钥分配内存的合理安全、合理便携的方法是什么?

android - 有安卓的PCI卡吗?

linux - 如何根据大小或内容递归删除 .htaccess 文件

xml - 用于更新部分 XML 元素值的 Bash 脚本

string - bash echo 中的 *G* 是什么意思?