sua*_*kim 9 ubuntu windows-subsystem-for-linux windows-terminal
我想bash
从批处理文件在 Windows 终端内启动 Ubuntu WSL [shell:] 并传递一个命令,该命令应在启动后立即运行。
-c
参数来做到这一点;例如,以下命令打开 WSL 并与一些本地端口转发建立 SSH 连接:
bash -c "ssh -L 3306:localhost:3306 -L 5900:localhost:5900 -L 8001:localhost:8001 user@target.com"
Run Code Online (Sandbox Code Playgroud)
我如何使用 Windows 终端实现此目的?
我找到了两种方法,到目前为止都有效:
commandline
选项还接受参数,这些参数在启动时直接传递给 shell,允许直接使用wsl.exe
附加的“启动命令”:
{
"guid": "{...}",
"hidden": false,
"name": "Ubuntu SSH",
"commandline": "wsl.exe ssh -L 3306:localhost:3306 -L 5900:localhost:5900 -L 8001:localhost:8001 user@target.com",
}
Run Code Online (Sandbox Code Playgroud)
我现在可以通过批处理文件启动 shell,该文件使用以下命令运行;然而,缺点是新的配置文件显示在 Windows 终端的配置文件选择菜单中:
wt -p "Ubuntu SSH"
Run Code Online (Sandbox Code Playgroud)
commandline
到wt
: commandline
选项可以包含目标 shell 的更多参数,从批处理文件调用时可以执行以下操作:
wt wsl.exe ssh -L 3306:localhost:3306 -L 5900:localhost:5900 -L 8001:localhost:8001 user@target.com
Run Code Online (Sandbox Code Playgroud)
我没有找到任何官方在线资源来解释为什么这样做有效,调整了这个答案中的建议,所以我不确定这是否应该以这种方式工作,或者它是否是一个隐藏/无意的功能,可能会在未来的版本中中断。 归档时间: |
|
查看次数: |
16105 次 |
最近记录: |