SSH를 통해 원격 서버에서 로컬 셸 스크립트를 실행하는 방법은 무엇입니까?


답변:


16
ssh user@remotehost "bash -s" < local_script.sh

-s 표준 입력에서 bash를 읽습니다.

스크립트에 인수를 전달해야하는 경우 :

ssh user@remotehost "bash -s" -- < local_script.sh "your_arg" "--aswitch" "avalue"

이중 대시 --(명령 옵션의 끝을 나타냄)와 인수 주위의 따옴표에 유의하십시오 .


나는 그것을 기억해야 할 것이다. 그것이 당신에게 도움이되었는지 알려 주시고 답변이 수락 된 것으로 표시하는 것을 잊지 마십시오.
Argusvision

3
당신은 필요하지 않으며 -s, bash당신이 정말로 강제로 사용하고 싶을 때만 필요 합니다 bash. 일반적으로 당신은 단순히ssh user@remotehost < local_script.sh
janos

1
로컬 스크립트에 피연산자가 있으면 어떻게해야합니까?
kmassada

예를 들어 "sh setup.sh arg1 arg2 arg3"과 같은 인수가 필요한 스크립트가 있습니다.
Amarjit Singh

4

포이보스의 대답은 나를 위해 일하는 것입니다.

ssh user@remotehost "bash -s" < local_script.sh

그러나 스크립트가 명시 적으로 exit를 호출하는지 확인해야합니다. 그렇지 않으면 스크립트 실행 후 원격 서버에 로그 된 상태를 유지해야합니다.

간단히 말해서, 이것을 다음 끝에 넣는 것을 잊지 마십시오 local_script.sh.

exit 0
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.