SSH 내에서 내보내기를 사용하고 스크립트 내에서 전역적으로 값을 사용합니다.

SSH 내에서 내보내기를 사용하고 스크립트 내에서 전역적으로 값을 사용합니다.

다음 명령을 실행할 때:

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 grepgrep [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"')

더 짧습니다.

관련 정보