var res = child.execSync("df -l | awk \'{t += $2} END {printf \"%d G\\n\", t / 2^20 + 0.5}\'");
工作,测试。
问题是
\n
。应该是
\\n
。您可以像这样调试任何shell任务:
console.log(SHELL_COMMAND)
然后手动运行输出字符串。
例如,这:
var child = require('child_process');
var cmd = "df -l | awk '{t += $2} END {printf \"%d G\n\", t / 2^20 + 0.5}'";
console.log(cmd)
var res = child.execSync(cmd);
将在控制台中输出并尝试运行以下操作:
df -l | awk '{t += $2} END {printf "%d G
", t / 2^20 + 0.5}'
这毫无意义。