在bash脚本和终端中运行命令时的不同输出

时间:2018-10-28 04:11:43

标签: bash shell command-line grep command

当我在bash脚本中运行以下代码时,输​​出为2

#!/bin/bash                                                                                                                                                                       
HIPPO=$(ps -a | grep hippo | wc -l)                                                                                                                                                 
echo "$HIPPO"

但是,当我直接从命令提示符运行命令ps -a | grep hippo | wc -l时,输出为0

阅读ps上的文档,尤其是-a标志时,我不明白为什么输出不同。

2 个答案:

答案 0 :(得分:1)

您的脚本怎么称呼?如果您用河马命名,它将计入您的 ps 通话中。

答案 1 :(得分:0)

https://superuser.com/questions/935374/difference-between-and-in-shell-script

当您执行命令替换时,该命令将根据以上内容运行一次。因此,我假设回声正在选择运行该命令的僵尸进程。