我尝试做什么,我作为普通用户以sudo权限连接到远程服务器,然后sudo到root,并执行命令&看我本地终端的输出。我写了一个这样的小脚本:
#!/bin/bash
my_argument=$1
ssh -t username@hostname 'sudo su -; /path_to_my_script $1'
我输入两次密码(一个用于ssh,另一个用于sudo),但我在本地终端中看不到任何内容,脚本看起来在远程主机中终止。我相信第二个问题可以通过使用exit解决,但我有点困惑,我怎么能把这个输出到我的本地终端。
由于
答案 0 :(得分:5)
字符串里面的字符串是字面意思。因此,您将美元符号和1作为参数传递给脚本。如果要解释字符串,请将其放在“”中,如:
ssh -t username@hostname "sudo /path_to_my_script $1"