Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
@azure/core-process fornisce Node.js primitive che avviano processi e evitano l'analisi degli shell ambient. È pensato per pacchetti e strumenti Azure SDK che necessitano di invocare eseguibili esterni su Windows, macOS o Linux.
Come iniziare
Installare il pacchetto
npm install @azure/core-process
Prerequisiti
Concetti chiave
Comandi e argomentazioni sono sempre forniti separatamente. Il pacchetto non fornisce un'API di stringa di comandi e non consente ai chiamanti di abilitare una shell.
import { execFile } from "@azure/core-process";
const { stdout } = await execFile("git", ["rev-parse", "--show-toplevel"]);
console.log(stdout);
Su Windows, si preferiscono nativi .exe e .com file. I file batch sono disabilitati di default perché argomenti arbitrari non possono essere trasportati in sicurezza attraverso ogni .cmd wrapper di or..bat Un chiamante che si aspetta un batch shim può scegliere il percorso limitato del batch:
import { execFile } from "@azure/core-process";
const { stdout } = await execFile("npm", ["--version"], {
allowWindowsBatchFiles: true,
});
console.log(stdout);
Il percorso batch limitato rifiuta gli operatori di comando, l'espansione variabile, le nuove linee e altri valori che non possono essere dimostrati sicuri prima cmd.exe dell'avvio.
Se un'applicazione deve passare questi valori, deve invocare direttamente un eseguibile nativo o un punto di ingresso dell'interprete.
Limite di sicurezza
Questo pacchetto impedisce che i dati della riga di comando vengano interpretati da una shell di sistema operativo ambientale. Non stabilisce che un eseguibile trovato su PATH sia affidabile, non sanifica il codice intenzionalmente passato a un interprete, né impedisce l'iniezione di opzioni specifiche per comando.
Non mettere segreti negli argomenti della riga di comando. Gli argomenti del processo possono essere visibili ad altri processi locali e alle diagnostiche dei sistemi operativi.
Risoluzione dei problemi
Un argomento batch di Windows non sicuro fallisce con un ProcessError prima che il processo figlio venga creato. Preferisci un eseguibile nativo quando l'argomento non può essere modificato.
Contributing
Consulta la guida ai contributi.
Azure SDK for JavaScript