내 사용자 이름 (myuser)으로 만 로그인 할 수있는 시스템이 있지만 다른 사용자 (scriptuser)로 명령을 실행해야합니다. 지금까지 필요한 명령을 실행하기 위해 다음을 생각해 냈습니다.
ssh -tq myuser@hostname "sudo -u scriptuser bash -c \"ls -al\""
그러나 더 복잡한 명령을 실행하려고하면 [[ -d "/tmp/Some directory" ]] && rm -rf "/tmp/Some directory"
인용에 문제가 생길 수 있습니다. 나는이 예 복잡한 명령을 전달할 수있는 방법을 잘 모르겠어요 bash -c
때, \"
이미 명령을 내가 전달하고있어 (그래서 나는 공백이 포함 / tmp를 / 일부 디렉토리를 인용하는 방법을 모르는의 경계를 delimites.
인용이 아무리 복잡하거나 미친 지에 관계없이 명령을 전달할 수있는 일반적인 해결책이 있습니까? 아니면 이것이 어떤 한계에 도달 했습니까? 다른 가능하고 더 읽기 쉬운 솔루션이 있습니까?