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

时间:2013-11-18 20:37:21

标签: bash shell unix ssh sudo

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

#!/bin/bash

my_argument=$1
ssh -t username@hostname 'sudo su -; /path_to_my_script $1'

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

由于

1 个答案:

答案 0 :(得分:5)

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

ssh -t username@hostname "sudo /path_to_my_script $1"