如何在脚本中打开新窗口、通过 ssh 连接到不同的用户并运行命令?

如何在脚本中打开新窗口、通过 ssh 连接到不同的用户并运行命令?

我想使用 minicom 或 ssh 连接打开一个新终端,并在该新窗口中使用 shell 脚本以其他用户身份运行命令。我尝试在 shell 脚本中写入以下命令:

#! /usr/bin/tcsh -f
    set Flag1 = 1  
    while ($Flag1) 
           if ($Flag1)then 
                  `xterm -e /home/Script/First.sh`
                  set Flag1 = 0
           endif 
    end 

/home/Script/First.sh

#! /usr/bin/tcsh -f
sudo minicom -D /dev/ttyUSB0
ifconfig eth0 10.120.140.3
ping -w20 10.120.140.1

第一个命令(minicom)起作用了,但是它无法继续执行其他命令。

答案1

要在脚本中打开新窗口,您可以xterm像之前一样使用。不建议在脚本中使用“sudo”命令。

First.sh因此,不要运行带有 sudo 的脚本,而是运行:

sudo /usr/bin/tcsh

sudominicom文件中删除First.sh

看起来似乎并非如此,但在某些情况下,-hold向命令中添加选项xterm会阻止脚本停止执行。

1. 如果你可以使用 ssh这非常简单。

ssh -t user@ip 'ifconfig eth0 10.120.140.3; ping -w20 10.120.140.1'

2)如果你需要使用 minicom您应该将脚本存储在目标位置以允许执行。

sudo vi First.txt

粘贴仅有的以下几行:

ifconfig eth0 10.120.140.3
ping -w20 10.120.140.1

在某些情况下,minicon 不接受 shell 脚本,添加一个!before 可以解决问题,如解释的那样这里

然后,打开它的“console-gui”并发送到目的地:

sudo minicom -D /dev/ttyUSB0
send atz
send at

您应该在最后两个命令中收到答案“OK”。

然后使用以下命令运行脚本:

minicom -S First.txt

相关内容