Другой вывод при запуске команды в bash script против терминала - PullRequest
0 голосов
/ 28 октября 2018

Когда я запускаю следующий код в bash-скрипте, я получаю вывод 2

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

Однако, когда я запускаю команду ps -a | grep hippo | wc -l прямо из командной строки, я получаю вывод 0

Читая документацию по ps, в частности по флагу -a, я не понимаю, почему вывод отличается.

Ответы [ 2 ]

0 голосов
/ 28 октября 2018

Как называется ваш скрипт?Если вы назвали его с помощью hippo , он будет учитываться при вашем ps вызове.

0 голосов
/ 28 октября 2018

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

Когда вы выполняете подстановку команды, команда запускается один раз в соответствии с вышеизложенным.Поэтому я предполагаю, что эхо выбирает процесс зомби, который выполнил эту команду.

...