【问题标题】:How do you set the terminal tab title from Node.js?如何从 Node.js 设置终端选项卡标题?
【发布时间】:2015-06-15 09:47:21
【问题描述】:

我知道这可以通过终端手动完成:

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

我尝试将它放入 console.logprocess.stdout.write 并摆弄转义,但我无法让它工作。

【问题讨论】:

  • > process.stdout.write("\033]0;My terminal tab title123\007"); 非常适合我(iTerm2)

标签: node.js macos terminal operating-system


【解决方案1】:

为了节省阅读本文的任何人的时间,这里有一个在严格模式下执行的函数:

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

【讨论】:

  • 嗯,这个包还提供了一个可执行的节点脚本。因此,您可以在 npm 脚本中设置 bash 标题:并删除该单行代码。这有多酷:)
  • 使用模板文字字符串:process.stdout.write(`${String.fromCharCode(27)}]0;${title}${String.fromCharCode(7)}`);
【解决方案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 中执行 :)

【讨论】:

  • 万岁,当您可以在一行代码中做同样的事情时添加另一个黑盒依赖项。
  • 嗯.. 这个库还为您提供了一个可执行的节点脚本 set-bash-title,因此您可以在 NPM 脚本中使用它并删除 代码中的一行代码和黑盒依赖项:` "scripts": { "start": "set-bash-title server && node server/app.js" },`
  • 爱它。认为这是一个很好的答案,特别是因为它可以在 package.json 中完成,而无需记住几个晦涩的十六进制代码。
  • 帮助,谢谢
猜你喜欢
  • 1970-01-01
  • 2011-10-07
  • 2013-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-07
相关资源
最近更新 更多