Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
@azure/core-process fornece Node.js primitivas que lançam processos e que evitam análise sintática ambiente de shell. Ele é destinado a pacotes e ferramentas do SDK do Azure que precisam invocar executáveis externos no Windows, macOS ou Linux.
Introdução
Instalar o pacote
npm install @azure/core-process
Pré-requisitos
Conceitos principais
Comandos e argumentos são sempre fornecidos separadamente. O pacote não fornece uma API de strings de comando e não permite que os chamadores habilitem um shell.
import { execFile } from "@azure/core-process";
const { stdout } = await execFile("git", ["rev-parse", "--show-toplevel"]);
console.log(stdout);
No Windows, nativo .exe e .com arquivos são preferidos. Arquivos batch são desativados por padrão porque argumentos arbitrários não podem ser transportados com segurança por todos .cmd os envelopes de OR .bat . Um chamador que espera um batch shim pode optar pelo caminho restrito do lote:
import { execFile } from "@azure/core-process";
const { stdout } = await execFile("npm", ["--version"], {
allowWindowsBatchFiles: true,
});
console.log(stdout);
O caminho restrito em lote rejeita operadores de comando, expansão variável, novas linhas e outros valores que não podem ser comprovados como seguros antes cmd.exe do início.
Se uma aplicação precisar passar esses valores, ela deve invocar diretamente um executável nativo ou um ponto de entrada de interpretador.
Limite de segurança
Este pacote impede que dados de linha de comando sejam interpretados por um shell ambiente de sistema operacional. Não estabelece que um executável encontrado em PATH seja confiável, não limpa o código intencionalmente passado para um interpretador, nem impede a injeção de opções específicas de comando.
Não coloque segredos em argumentos de linha de comando. Argumentos de processo podem ser visíveis para outros processos locais e diagnósticos do sistema operacional.
Solução de problemas
Um argumento inseguro do Windows em lote falha com um ProcessError antes que o processo filho seja criado. Prefira um executável nativo quando o argumento não pode ser alterado.
Contributing
Veja o guia de contribuições.
Azure SDK for JavaScript