对子进程使用字符串命令
use string command to chid process
我想使用以下字符串并将其放入子进程中
make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\/\t=]*:([^=]|$)/ {split(,A,/ /);for(i in A)print A[i]}' | sort -u
我能够在终端上成功地 运行 它但是当我把它用于子进程时我得到了错误:
我这样试试
let commandLine = "make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\/\t=]*:([^=]|$)/ {split(,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][^$#/ <<<
这就是想法...
How do you get the list of targets in a makefile?
反斜杠是 terminated at JS string,所以 \/
只是 /
通过。
使用:
- 字符串中的双反斜杠
\\/
。
- 将字符串换成 raw backticks.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
我想使用以下字符串并将其放入子进程中
make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\/\t=]*:([^=]|$)/ {split(,A,/ /);for(i in A)print A[i]}' | sort -u
我能够在终端上成功地 运行 它但是当我把它用于子进程时我得到了错误:
我这样试试
let commandLine = "make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\/\t=]*:([^=]|$)/ {split(,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][^$#/ <<<
这就是想法... How do you get the list of targets in a makefile?
反斜杠是 terminated at JS string,所以 \/
只是 /
通过。
使用:
- 字符串中的双反斜杠
\\/
。 - 将字符串换成 raw backticks.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals