다음 명령을 실행할 때:
ssh -q -o BatchMode=yes -T <server> <<'EOF'
export INTIAL_COUNT=$(ps -ef|grep -v grep|grep "/bin/ksh /test/bin/worker.sh" |wc -l)
EOF
echo ${INTIAL_COUNT}
내가 얻는 출력은 비어 있습니다.
예상되는 출력은 특정 값입니다.
echo ${INTIAL_COUNT}
10
답변1
노력하다
INTIAL_COUNT=$(ssh -q -o BatchMode=yes -T <server> <<'EOF'
ps -ef|grep -c "/bin/ksh /test/bin/[w]orker.sh"
EOF
)
어디
grep -v grep
grep [w]
자신과 일치하지 않는 것으로 대체됩니다 .grep ... | wc -l
로 대체됩니다grep -c
$( .. )
구성은 선에 걸쳐 있을 수 있습니다.
또는
INTIAL_COUNT=$(ssh -q -o BatchMode=yes -T <server> 'ps -ef|grep -c "/bin/ksh /test/bin/[w]orker.sh"')
더 짧습니다.