使用 Ubuntu WSL 和 Zsh 在 Windows 终端中打开标签页

Open tabs in Windows Terminal w/ Ubuntu WSL & Zsh

我正在 Windows 的 UBUNTU WSL 上为 运行 编写脚本。我使用 zsh 作为我的 shell,但 bash 也可以在这里工作。

我希望 bash 脚本使用 wt.exe(Windows 终端)打开一些新标签页。

这是我目前的情况:

#!/bin/bash

cmd.exe /c "wt.exe" \
  new-tab --title 'a' --tabColor "#f00" wsl.exe "ls" \; \
  new-tab --title 'b' --tabColor "#f33" wsl.exe zsh -is -c "ls" \; \
  new-tab --title 'c' --tabColor "#f99" wsl.exe zsh -is "ls" \; \
  new-tab --title 'd' --tabColor "#0f0" wsl.exe zsh -i -c "ls" \; \
  new-tab --title 'e' --tabColor "#3f3" wsl.exe zsh -c "ls" \; \
  new-tab --title 'f' --tabColor "#9f9" wsl.exe zsh "ls" \; \

您需要 Windows 10 w/ Ubuntu WSL 和 Windows 终端才能正常工作。

这个 bash 脚本会打开一堆标签。

我想自动化:

我在这些工具的早期版本上使用它,但它们发生了变化。

有什么新方法?

zsh ls 没有意义。一般来说,

zsh some_file

要求 zsh 将 some_file 解释为包含 zsh 脚本的文本文件。要调用外部命令 ls,您至少必须编写

zsh -c ls

在您的情况下,它可能(取决于您如何配置 zsh)将 运行 感知为登录 shell。调用将类似于

zsh -lc ls

当然 zsh 之后会立即退出,因为您没有打开交互式 shell。为此,您可以在执行 ls 之后用交互式 zsh 进程覆盖非交互式 zsh:

zsh -lc "ls; zsh"