используйте строку команды для chid процесса - PullRequest
0 голосов
/ 27 февраля 2020

Я хочу использовать следующую строку и поместить ее в childprocess


make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\/\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}' | sort -u

Я смог успешно запустить ее на терминале, однако, когда я установил ее для дочернего процесса, я получил ошибку:

Я пытаюсь вот так

let commandLine = "make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\/\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}' | sort -u";
    try {
        let { stdout, stderr } = await exec(commandLine, { cwd: workspaceRoot });

Есть идеи?

ошибка:

awk: nonterminated character class ^[a-zA-Z0-9][^$#
 source line number 1
 context is
     >>> /^[a-zA-Z0-9][^$#/ <<< 

это идея ... Как получить список целей в make-файле?

1 Ответ

1 голос
/ 27 февраля 2020

Backsla sh имеет значение , оканчивающееся на JS строка , поэтому вместо \/ проходит только /.

Использование:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

...