![ssh 명령의 다른 스크립트 내에서 스크립트를 호출하는 방법은 무엇입니까? [폐쇄]](https://linux55.com/image/138987/ssh%20%EB%AA%85%EB%A0%B9%EC%9D%98%20%EB%8B%A4%EB%A5%B8%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%20%EB%82%B4%EC%97%90%EC%84%9C%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%ED%98%B8%EC%B6%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
서버에 이라는 SSH 호출 스크립트가 있습니다 /opt/scripts/script1.sh
.
sshpass -p 'password' ssh user@ip /opt/scripts/script1.sh
(Sshpass가 안전하지 않다는 것을 알고 있지만 이 경우에는 이유가 있습니다)
이 스크립트는 많은 작업을 수행한 다음 실행하는 다른 스크립트를 호출합니다 bash /opt/scripts/script2.sh
.
이 컴퓨터에 대화형으로 SSH를 연결하고 실행하면 /opt/scripts/script1.sh
호출 /opt/scripts/script2.sh
됩니다. 하지만 내가 그렇게 한다면
sshpass -p 'password' ssh user@ip /opt/scripts/script1.sh
/opt/scripts/script2.sh
호출되지 않습니다. 오류가 발생하지 않습니다(이 작업을 수행하는 동안에도 set -x
). 아무것도 없습니다. 왜 한 가지 방식으로는 작동하지만 다른 방식으로는 작동하지 않는지 모르겠습니다. 왜 이런 일이 발생하는지 설명할 수 있나요?