如何从 Node.js 设置终端选项卡标题?
How do you set the terminal tab title from Node.js?
我知道这可以通过终端手动完成:
echo -n -e "3]0;My terminal tab title[=11=]7"
我尝试将其放入 console.log
和 process.stdout.write
中并尝试转义,但无法正常工作。
为了节省阅读本文的人一些时间,这里有一个函数将在严格模式下执行此操作:
function setTerminalTitle(title)
{
process.stdout.write(
String.fromCharCode(27) + "]0;" + title + String.fromCharCode(7)
);
}
有节点库:node-bash-title
节点中的用法
要安装库:
npm install node-bash-title --save
在您的脚本中:
const setTitle = require('node-bash-title');
setTitle(' Server');
NPM 脚本中的用法
这个包还提供了一个可执行脚本。你可以在你的 npm 脚本中使用它。例如:
"scripts": {
"start:dev": "set-bash-title server && node server/app.js"
"start:prod": "node server/app.js"
},
因此您可以从代码中删除标题脚本。此外,仅当您想设置标题时才设置标题(在开发模式下)。在生产模式下,您可能不想设置标题,因为您的脚本可能不会在 XTerm 中执行:)
我知道这可以通过终端手动完成:
echo -n -e "3]0;My terminal tab title[=11=]7"
我尝试将其放入 console.log
和 process.stdout.write
中并尝试转义,但无法正常工作。
为了节省阅读本文的人一些时间,这里有一个函数将在严格模式下执行此操作:
function setTerminalTitle(title)
{
process.stdout.write(
String.fromCharCode(27) + "]0;" + title + String.fromCharCode(7)
);
}
有节点库:node-bash-title
节点中的用法
要安装库:
npm install node-bash-title --save
在您的脚本中:
const setTitle = require('node-bash-title');
setTitle(' Server');
NPM 脚本中的用法
这个包还提供了一个可执行脚本。你可以在你的 npm 脚本中使用它。例如:
"scripts": {
"start:dev": "set-bash-title server && node server/app.js"
"start:prod": "node server/app.js"
},
因此您可以从代码中删除标题脚本。此外,仅当您想设置标题时才设置标题(在开发模式下)。在生产模式下,您可能不想设置标题,因为您的脚本可能不会在 XTerm 中执行:)