如何从Node.js设置终端选项卡标题?

时间:2015-04-09 20:36:15

标签: node.js macos terminal operating-system

我知道这可以通过以下方式从终端手动完成:

echo -n -e "\033]0;My terminal tab title\007"

我尝试将其放入console.logprocess.stdout.write并摆弄逃脱,但我无法让它发挥作用。

2 个答案:

答案 0 :(得分:17)

为了节省阅读这段时间的人,这里有一个以严格模式执行的功能:

function setTerminalTitle(title)
{
  process.stdout.write(
    String.fromCharCode(27) + "]0;" + title + String.fromCharCode(7)
  );
}

答案 1 :(得分:2)

有节点库: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中执行:)