Red*_*Red 12 ssh gnome-terminal
我想编写一个脚本,用不同的选项卡打开终端,ssh在每个选项卡中使用登录到服务器并在每个选项卡中执行命令。例如:htop。
下面的脚本打开一个终端,其中 4 个选项卡都登录在服务器上。但是,如果我尝试htop在该cmd=行中添加该命令,它就不再起作用了...
#bin/bash
tab="--tab"
cmd="bash -c 'ssh user@host';bash"
foo=""
for i in 1 2 3 4; do
foo+=($tab -e "$cmd")
done
gnome-terminal "${foo[@]}"
exit 0
Run Code Online (Sandbox Code Playgroud)
我试过这个...
cmd="bash -c 'ssh user@host htop';bash"
Run Code Online (Sandbox Code Playgroud)
...因为ssh --help说语法ssh是:
用法:ssh [user@]hostname [command]
Oli*_*Oli 14
以其最简单的形式:
ssh -t user@host "command; bash"
Run Code Online (Sandbox Code Playgroud)
-t是这里的关键部分。它强制主机为进程分配一个虚拟终端,使其保持打开状态。
如果您只想在大量服务器上运行 htop,您可以省略bash最后的 ,但这意味着如果您退出 htop,您将返回到本地终端。
| 归档时间: |
|
| 查看次数: |
12900 次 |
| 最近记录: |