在 bash 脚本的新终端实例中运行命令

在 bash 脚本的新终端实例中运行命令

我有一个 bash 脚本,用于自动配置代理设置。我在文件中创建了一些别名.bash_aliases。现在有一个命令,用于通过 ssh 进入远程服务器并执行一些动态端口转发,本质上就是创建一个 socks 代理。所以我需要相应地配置我的代理设置。

该命令如下:

proxy off && ssh -D <port> <username>@<hostaddress>

我已经为上述命令设置了别名,当我在终端中输入别名时,我已成功连接到远程服务器。但是完成此操作后,我需要在新的终端窗口中运行另一个命令来配置我新创建的 socks 代理。基本上我只需要运行:

proxy socks #It configures my laptop to use the socks proxy

我无法在同一个终端窗口中执行此操作,也无法&&在 ssh 命令之后执行此操作,因为这意味着我试图在远程服务器上执行该命令。我想在我的笔记本电脑上运行此命令。

有什么方法可以像我们用管道或不同的命令一样在新的终端窗口中以一行运行第二个命令吗?每次我 ssh 进入远程服务器时都在终端中打开一个新选项卡,这样我就可以键入单个命令来配置我的代理,然后关闭该选项卡,因为我不再需要它了,这真的很低效。

答案1

尝试这样做:

port=1234
remote=username@host
proxy off && ssh -fND $port $remote && proxy socks

标志-f指示ssh进入后台,-N指示不执行命令,只转发端口。这样您就可以继续在当前终端上工作。

相关内容