2013-02-21 4 views
0

누구든지 쉘 스크립트 작성에 도움이 될 수 있습니까? 내 스크립트는 이와 유사합니다. 저는 쉘 스크립팅에있어 초보자입니다.ssh 용 쉘 스크립팅

!/빈/bash는
ssh를 사용자 @ 서버
에서 mkdir 테스트

"사실 나는 내 서버에 로그인 및 서버에 디렉토리를 생성 한 후이 에서 로그 아웃 할 일은 노력했다, 내 로컬 컴퓨터에서 쉘 스크립트를 실행합니다.하지만 첫 번째 명령을 실행 한 후 SSH의 암호와 서버에 로그인하라는 메시지가 표시됩니다. 나머지 코드는 서버에서 종료 할 때 server.when에서 실행되지 않습니다. CTRL + D를 입력하면 리모컨 코드 이 로컬 컴퓨터에서 실행됩니다. 필요한 부분은 무엇입니까? 서버에
남은 코드를 실행하고 서버에서 자동으로 종료하려면 어떻게해야합니까? "

+0

또한 여기 참조 : http://serverfault.com/questions/215756/how-do-i-run-a-local-bash-script-on-remote-machines-via-ssh – nwinkler

+0

가능한 복제본 [ssh를 사용하여 원격 컴퓨터에서 쉘 스크립트를 실행하는 방법] (http://stackoverflow.com/questions/305035/how-to-use-ssh-to-run-shell-script-on-a) -remote-machine) – nwinkler

+0

정확한 답변은 nwinkler가 주신 링크에서 얻었습니다. 감사합니다. 내 하루를 저장했습니다. –

답변

0

Fabric이라는 Python 모듈을 사용할 수 있습니다. Fabric은 멋진 모듈이며 필요한 기능을 정확하게 제공합니다. 파이썬을 설치하고 패브릭 모듈을 추가해야합니다.

official site을 살펴보십시오.

+0

fab 파일을 작성할 수 있습니다 이 팹 파일을 셸 스크립트에서 배치 명령으로 실행할 수 있습니다. 많은 노력을 절약 할 수 있습니다! –

+0

안녕하세요 Amith, 빠른 답장을 보내 주셔서 감사합니다. 더 명확히하기 위해 제 질문을 수정했습니다. 제발 잘 살펴보고 좋은 해결책을 알려주세요. –

1

ssh 호출과 동일한 줄에 원격 서버에서 실행할 명령을 입력해야합니다. 예 :

ssh [email protected] "mkdir test" 

여러 명령을 실행하려면 세미콜론으로 구분하십시오. 예 :

ssh [email protected] "cd /tmp/ ; mkdir test ; echo 'Done'" 

또는 스크립트를 복사 한 다음 해지 할 수 있습니다. 예 :

scp remote.sh [email protected]:/tmp/remote.sh 
ssh [email protected] "/tmp/remote.sh" 
+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 실제로 필자는 로컬 컴퓨터에서 실행되어야하고 원격 컴퓨터에 디렉터리를 만들어야하는 셸 스크립트 파일이 필요합니다. –

+0

이 답변이 가장 적합한 반면, 대안으로'expect' 명령을 볼 수도 있습니다. – anishsane