Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
@azure/core-process Node.js folyamatindító primitíveket biztosít, amelyek elkerülik az ambient shell parsinget. Ez Azure SDK csomagokhoz és eszközökhöz készült, amelyeknek külső futtatható fájlokat kell megidézniük Windows-on, macOS-en vagy Linuxon.
Kezdő lépések
A csomag telepítése
npm install @azure/core-process
Prerequisites
főbb fogalmak
A parancsok és érvek mindig külön vannak megadva. A csomag nem biztosít parancssoros API-t, és nem engedi a hívók számára a shell engedélyezését.
import { execFile } from "@azure/core-process";
const { stdout } = await execFile("git", ["rev-parse", "--show-toplevel"]);
console.log(stdout);
Windows-on a natív .exe és .com fájl előnyösebb. A batch fájlok alapértelmezés szerint le vannak tiltva, mert tetszőleges argumentumokat nem lehet biztonságosan továbbítani minden .cmd wrapperen .bat keresztül. Az a hívó, aki egy kötetes shim-re számít, választhat a korlátozott tételes útvonalra:
import { execFile } from "@azure/core-process";
const { stdout } = await execFile("npm", ["--version"], {
allowWindowsBatchFiles: true,
});
console.log(stdout);
A korlátozott csomag út elutasítja a parancsoperátorokat, változóbővítést, új vonalakat és más olyan értékeket, amelyeket nem lehet biztonságosnak bizonyítani indulás előtt cmd.exe .
Ha egy alkalmazásnak ezeket az értékeket kell továbbítania, közvetlenül meg kell hívnia egy natív futtatható vagy értelmező belépési pontot.
Biztonsági határ
Ez a csomag megakadályozza, hogy a parancssori adatokat egy környezeti operációs rendszer héjjele értelmezze. Nem bizonyítja, hogy a Pokémonban PATH talált végrehajtható fájl megbízható, nem tisztítja meg a kódot, amelyet szándékosan küldtek át egy értelmezőnek, és nem akadályozza meg a parancs-specifikus opció befecskendezését.
Ne helyezzen titkokat parancssori argumentumokban. A folyamatargumentumok láthatóak lehetnek más helyi folyamatok és operációs rendszer diagnosztikai számára.
Troubleshooting
Egy veszélyes Windows batch argumentum meghibásodik az a ProcessError fiók előtt, mielőtt létrehoznánk a gyermekfolyamatot. Akkor részesítsd előnyben egy natív futtatható fájlt, ha az argumentum nem változtatható.
Közreműködés
Lásd a hozzájárulási útmutatót.
Azure SDK for JavaScript