Nodejs 如何判断运行 js 脚本的命令行是不是 iterm?

发布于 1周前 作者 nodeper 来自 nodejs/Nestjs

Nodejs 如何判断运行 js 脚本的命令行是不是 iterm?
rt,求教大神

2 回复

process.env.TERM_PROGRAM === ‘iTerm.app


在 Node.js 中判断运行 JavaScript 脚本的命令行是否是 iTerm,可以通过检查环境变量来实现。iTerm 通常会在其环境中设置一些特定的变量,例如 ITERM_SESSION_IDTERM_PROGRAM。我们可以利用这些变量来判断当前是否在 iTerm 中运行。

以下是一个简单的示例代码,用于检查是否在 iTerm 中运行:

const isITerm = () => {
  const termProgram = process.env.TERM_PROGRAM;
  return termProgram === 'iTerm.app';
};

// 或者更通用的方式,检查是否存在相关的环境变量
const isITermGeneric = () => {
  return 'ITERM_SESSION_ID' in process.env || process.env.TERM_PROGRAM === 'iTerm.app';
};

(async () => {
  if (isITerm()) {
    console.log('This script is running in iTerm.');
  } else if (isITermGeneric()) {
    console.log('This script is running in iTerm (generic check).');
  } else {
    console.log('This script is not running in iTerm.');
  }
})();

在这个示例中,isITerm 函数专门检查 TERM_PROGRAM 环境变量是否等于 'iTerm.app'isITermGeneric 函数则是一个更通用的检查,它还会检查 ITERM_SESSION_ID 环境变量是否存在。

你可以将这段代码保存为一个 .js 文件,然后在命令行中运行它,观察输出,以确定当前是否在 iTerm 中运行。

回到顶部