
ps -ef | while read line; do
for i in $line; do
if [ $i = 'bash' ]; then
echo $line;
fi;
done;
done;
unset i;
명령이 제대로 실행되어 Bash 프로세스를 표시하지만 추가 Bash 프로세스가 생성되어 표시됩니다. 나는 그것이 if
검사 내부와 관련이 있기를 바라고 있습니다. 조건에 대해 $i
작은 따옴표/큰따옴표를 사용하거나 사용하지 않고 실행하려고 했습니다 . 프로세스가 계속 생성되고 표시되는 중입니다. 나는 출력을 얻는 데 사용할 수 있었지만 이런 식으로 시도하고 싶었습니다.bash
if
grep
제발 정정해주세요.
답변1
추가 프로세스는 파이프에 의해 생성됩니다.
자세한 내용은 다음을 읽어보세요.Bash와 프로세스 트리에 대한 아주 좋은 설명.
의 출력은 ps
구문 분석이 가능하도록 설계되지 않았습니다. ps
구문 분석을 시도할 때 pgrep
.