답변:
당신은 전달할 수 있습니다 ssh
ssh 명령에 쉘을 추가 클라이언트에게 쉘을 시작하는 대신 실행할 명령을 .
ssh username@domain.com 'rm /some/where/some_file.war'
cd
전체 경로를 지정하는 한 무언가를 제거하기 위해 위치로 이동할 필요가 없으므로 건너 뛸 수있는 또 다른 단계입니다.
다음 질문은 인증입니다. 방금 실행하면 암호를 묻는 메시지가 나타납니다. 이것을 대화식으로 입력하지 않으려면 공개 키 인증을 설정해야합니다.
-f
으로 rm
원격 호출을 실행?
rm
했는지 여부는 사용자가 무엇을 기대하고 무엇을 무시하는지 왜 알지 않는 한 호출자에게 전달되어야합니다. 주어진 시나리오에서 필요한 옵션 만 사용하면 많은 실수와 나중에 디버깅하는 것을 피할 수 있습니다.
-f
옵션 rm
은 짧고 --force
존재하지 않는 파일이나 가짜 인수에 오류가 있는지 여부에 영향을줍니다. 일반적으로 명령은 대화식이 아닌 쉘에서 실행되며 기본적으로 대화식이 적습니다. 그러나 대화식 프롬프트가 표시되지 않거나 직접 대화식으로 설정을 수정해야합니다. 스크립팅하는 경우 어쨌든 해당 문제가 없어야하며 대화 형 셸 (치명적인 오타가있는 경우) -I
에 --interactive=never
있으면 원하는 동작을 설정 하는 데 사용해야합니다 .
sudo를 사용하여 원격 파일을 삭제하려면 다음과 같이 실행해야합니다.
ssh -tt user@host 'stty raw -echo; sudo rm /path/to/file' < <(cat)
세부 사항 .
암호없는 키를 설정 한 다음 ssh 명령의 일부로 명령을 추가하십시오. 참조 : http://www.dotkam.com/2009/03/10/run-commands-remotely-via-ssh-with-no-password/