Windows 终端:在启动时运行 CLI 命令

Windows 终端:在启动时运行 CLI 命令

我最近对新的 Windows Terminal 很感兴趣,所以经过一番测试后,我想有一个配置文件可以立即启动我的 gatsby 网站的开发环境。所以我创建了另一个配置文件,配置如下:

"guid": "given unique guid",
"name": "Gatsby DEV",
"startingDirectory": "C:\\Projects\\gatsby-website\\",
"commandline": "gatsby develop"

不幸的是,从菜单中选择配置文件后,我只能看到一个选项卡闪烁,这意味着它会立即打开并关闭。当我添加"closeOnExit": false选项时,它没有关闭,但显示的选项卡是空的。

有没有人已经尝试过并且成功了?

答案1

我使用以下命令启动 Node.JS 环境 -

{    
  "guid": "{CBEAD37E-E945-4569-AAFA-091A9D3321C9}",
  "name": "Node.js",
  "commandline": "cmd /k \"F:\\Program Files\\nodejs\\nodevars.bat\"",
  "colorScheme": "Vintage",
  "hidden": false
},

上面的配置文件使用 /k 标志生成 CMD shell。/k 指示 shell 执行命令,然后返回到 cmd 提示符以允许进一步输入。对于上面的脚本,它会生成一个 shell;运行初始化环境变量的批处理文件,然后返回到完全配置的提示符。

如果您的选项卡出现然后立即消失,这是因为您正在运行的命令提供了返回代码来宣布它已完成。通过将其包装在命令 shell 中(使用 /k 标志),返回代码将传递到 cmd 并被使用,而不是传递到 Windows 终端,后者将指示选项卡关闭。

答案2

这是 elaverick 的修改版本,用于在启动 Powershell 时在 Windows 终端上运行命令:

{
    // Make changes here to the powershell.exe profile.
    "guid": "<Your guid goes here>",
    "name": "Custom Powershell",
    "commandline": "powershell.exe -NoExit \"<Your command goes here>\"",
    "hidden": false
},

请注意-NoExitJSON 的标志和转义引号。替换<Your command goes here>

答案3

以防万一除了我之外还有人是 Windows 终端的新手。Real 的答案对我有用,但该配置属于你的settings.json文件,默认情况下是

"C:\Users\USERNAME\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json"

在这个文件中,你会看到类似这样的内容:

{
    "$schema": "https://aka.ms/terminal-profiles-schema",
    ...
    "profiles": 
    {
        "defaults": {},
        "list": 
        [
            {
                "commandline": "cmd /k \"F:\\Program Files\\nodejs\\nodevars.bat\""
                "guid": "{some autogenerated guid here}",
                "hidden": false,
                "name": "custom cmd",
                "startingDirectory": "C:\\my_starting_dir"
            ...
            },
        ...
        ]
    ...
    }
...    
}

相关内容