bash 스크립트를 원격으로 실행할 수 없습니다(너무 많음).

bash 스크립트를 원격으로 실행할 수 없습니다(너무 많음).

몇 가지 조사를 한 후:

SSH 스크립트 및 실행 명령이 작동하지 않습니다

sshpass의 여러 명령

쉘 스크립트가 텔넷이나 프로그램에서 명령을 실행하도록 합니다.

원격 서버에 로그인한 다음 (원격 서버에서) 서버에 텔넷으로 연결하는 스크립트를 생각해 냈습니다.

스크립트 파일

cat run_on_remote.sh | sshpass -p "$PASS" ssh -t -t -o StrictHostKeyChecking=no host@serv

run_on_remote.sh:

echo "[REMOTE] Logged into remote. Current working directory `pwd`"

echo "[REMOTE] Moving deployment to /some/dir"

mv "deployment.rar" "/some/dir"

(
echo open "localhost 50008"
sleep 2
echo "user"
sleep 2
echo "pass"
sleep 2
echo "ls -la | grep deployment-name"
sleep 2
echo "undeploy deployment-name"
sleep 5
echo "deploy deployment-name"
sleep 5
echo "Redeployed adapter"
echo "exit"
) | telnet

echo "Finishing SSH session"
exit 

하지만 다음과 같은 오류가 발생합니다.

 ) | telnet
Too many )'s.

스크립트를 원격 서버에 업로드하면 예상대로 작동합니다. 왜?

관련 정보