为什么我的powershell终端的标题在运行其他命令后不粘住?

问题描述 投票:0回答:1

我有一个 powershell 脚本,可以打开多个 powershell 终端并进入不同的目录并运行这些目录中的应用程序:

start powershell @'
    $host.ui.RawUI.WindowTitle = \"application 1\"
    cd application1\backend
    npm install
    npm run build
    npm run start
'@

start powershell @'
    $host.ui.RawUI.WindowTitle = \"application 2\"
    cd application2\backend
    npm install
    npm run build
    npm run start
'@

start powershell @'
    $host.ui.RawUI.WindowTitle = \"application 3\"
    cd application3\backend
    npm install
    npm run build
    npm run start
'@

如您所见,我为每个终端做的第一件事是设置标题。但是,标题会被每个后续命令替换。例如,对于 application1,我看到“application 1”作为标题,然后是“npm install”,然后是“npm run build”,然后是“npm run start”。

如何设置标题以使其粘住?也就是说,我不希望标题在设置后更改为每个后续命令。

注意...我尝试过这个:

start powershell @'
    cd application1\backend
    npm install
    npm run build
    npm run start
    $host.ui.RawUI.WindowTitle = \"application 1\"
'@

...希望标题能够保留,因为它将是最后运行的命令,但终端保持在

npm run start
,因为应用程序在我按下 ctrl-c 之前不会退出。

还有其他方法可以完成我想做的事情吗?

谢谢!

powershell terminal scripting
1个回答
0
投票

我在这里找到了答案:我的 React 应用程序中的转译代码是什么?

诀窍是我必须在应用程序中设置标题,而不是从命令行或脚本。我必须将行

process.title = 'application 1';
添加到应用程序代码中。

© www.soinside.com 2019 - 2024. All rights reserved.