![Windows 终端:在启动时运行 CLI 命令](https://linux22.com/image/1610707/Windows%20%E7%BB%88%E7%AB%AF%EF%BC%9A%E5%9C%A8%E5%90%AF%E5%8A%A8%E6%97%B6%E8%BF%90%E8%A1%8C%20CLI%20%E5%91%BD%E4%BB%A4.png)
我最近对新的 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
},
请注意-NoExit
JSON 的标志和转义引号。替换<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"
...
},
...
]
...
}
...
}