远程sudo,执行命令并在本地终端写入输出

Jav*_*Red 1 unix ssh bash shell sudo

我尝试做什么,我作为普通用户连接到远程服务器,sudo权限,然后sudo到root,并执行命令并在我的本地终端看到输出.我写了一个这样的小脚本:

#!/bin/bash

my_argument=$1
ssh -t username@hostname 'sudo su -; /path_to_my_script $1'
Run Code Online (Sandbox Code Playgroud)

我键入两次密码(一个用于ssh,另一个用于sudo),但我在本地终端中看不到任何内容,脚本看起来在远程主机中终止.我相信第二个问题可以通过使用exit解决,但我有点困惑,我怎么能把这个输出到我的本地终端.

谢谢

Art*_*rFH 5

''中的字符串是字面意思.因此,您将美元符号和1作为参数传递给脚本.如果要解释字符串,请将其放在""内,如:

ssh -t username@hostname "sudo /path_to_my_script $1"
Run Code Online (Sandbox Code Playgroud)