ssh 到服务器并切换用户并更改目录

kul*_*eep 2 command-line ssh su sudo

我需要 ssh 到服务器,然后切换用户并更改目录,然后运行命令。现在正在做ssh -t username@hostname "sudo su - otheruser && cd /path/to/directory && command"。但这并没有改变目录,它只是切换了用户并运行了命令。

小智 8

使用 -c 开关将您的命令传递给 su。复杂的命令必须用引号或双引号括起来。由于您已经在使用双引号,请使用单引号或转义内部双引号。

例子:

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"'
Run Code Online (Sandbox Code Playgroud)