Node.JS 子进程更改终端类型
Node.JS Child Process Change Type of Terminal
我正在使用 Node JS 子进程执行终端命令并获取它们的输出,一切都很顺利。但是,我在 WSL Windows 机器上,我想将子进程终端的类型更改为 zsh
.
下面是我当前执行命令和接收输出的代码。
async function execute(
command: string,
cwd: string,
): Promise<{ output: string; error: string }> {
const out = await promisify(exec)(command, { cwd: cwd });
const output = out.stdout.trim();
const error = out.stderr.trim();
return { output: output, error: error };
}
如何将终端类型从 command prompt
更改为 zsh
?
你可以做到这一点
exec(command , { shell : "zsh" })
您可以在此处阅读有关 shell 要求的更多信息:https://nodejs.org/api/child_process.html#shell-requirements
因此您的代码应如下所示:
async function execute(
command: string,
cwd: string,
): Promise<{ output: string; error: string }> {
const out = await promisify(exec)(command, { cwd: cwd ,
shell:"zsh"});
const output = out.stdout.trim();
const error = out.stderr.trim();
return { output: output, error: error };
}
我正在使用 Node JS 子进程执行终端命令并获取它们的输出,一切都很顺利。但是,我在 WSL Windows 机器上,我想将子进程终端的类型更改为 zsh
.
下面是我当前执行命令和接收输出的代码。
async function execute(
command: string,
cwd: string,
): Promise<{ output: string; error: string }> {
const out = await promisify(exec)(command, { cwd: cwd });
const output = out.stdout.trim();
const error = out.stderr.trim();
return { output: output, error: error };
}
如何将终端类型从 command prompt
更改为 zsh
?
你可以做到这一点
exec(command , { shell : "zsh" })
您可以在此处阅读有关 shell 要求的更多信息:https://nodejs.org/api/child_process.html#shell-requirements
因此您的代码应如下所示:
async function execute(
command: string,
cwd: string,
): Promise<{ output: string; error: string }> {
const out = await promisify(exec)(command, { cwd: cwd ,
shell:"zsh"});
const output = out.stdout.trim();
const error = out.stderr.trim();
return { output: output, error: error };
}