서버에 SSH로 접속한 다음 사용자를 전환하고 디렉터리를 변경한 다음 명령을 실행해야 합니다. 지금 하고 있어요 ssh -t username@hostname "sudo su - otheruser && cd /path/to/directory && command"
. 그러나 이것은 디렉터리를 변경하지 않고 단지 사용자를 전환하고 명령을 실행합니다.
답변1
su에 명령을 전달하려면 -c 스위치를 사용하십시오. 복잡한 명령은 따옴표나 큰따옴표로 묶어야 합니다. 이미 큰따옴표를 사용하고 있으므로 작은따옴표를 사용하거나 내부 큰따옴표 쌍을 이스케이프 처리하세요.
예:
ssh -t username@hostname "sudo su - otheruser -c \"cd /path/to/directory && command\""
ssh -t username@hostname "sudo su - otheruser -c 'cd /path/to/directory && command'"
ssh -t username@hostname 'sudo su - otheruser -c "cd /path/to/directory && command"'