【发布时间】:2019-04-01 08:53:19
【问题描述】:
当我在 bash 脚本中运行以下代码时,我收到 2 的输出
#!/bin/bash
HIPPO=$(ps -a | grep hippo | wc -l)
echo "$HIPPO"
但是,当我直接从命令提示符运行命令 ps -a | grep hippo | wc -l 时,我得到的输出为 0
阅读ps 上的文档,尤其是-a 标志,我不明白为什么输出不同。
【问题讨论】:
-
根据时间的不同,
ps可能会或可能不会在其输出中列出grep hippo进程(并且可能是为运行管道而创建的子shell)。各种事情都会影响时间。尝试改用grep '[h]ippo,因为它不会匹配自己。
标签: bash shell command-line grep command