원격 호스트에서 명령 실행이 실패했습니다.

원격 호스트에서 명령 실행이 실패했습니다.

다음과 같이 원격 호스트에서 일부 명령을 실행하려고 합니다.

ssh -t -t -l user 172.20.20.20 <<EOF
  pid=$(ps -ef | grep [a]pp-management | awk '{print $2}') && kill -9 $pid && rm -rf CI/*
EOF

원격 서버에 로그인 상태를 유지하고 종료가 실행되지 않는 경우는 다음과 같습니다.

user@ubuntu:~$ pid= && kill -9  && rm -rf CI/*
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]

둘 다 rm처형되지 않았는데, 내가 뭘 잘못한 걸까요?

kill -9 명령에 아무것도 전달되지 않은 것을 확인했습니다. 이유는 무엇입니까?

답변1

$구분된 문서의 기호에 의해 도입된 확장은 명령에 입력으로 전달된 문자열을 생성하기 전에 로컬로 평가됩니다 ssh.

이를 방지하려면 구분된 문서에서 명령을 이스케이프하세요(예: 따옴표 사용).EOF

ssh ... <<"EOF"

관련 정보