У меня есть скрипт node.js:
const cp = require('child_process');
const json = JSON.stringify(['foo','bar']);
const k = cp.spawn('bash');
const cmd = `
export foo=${json}
`;
k.stdin.end(`
${cmd}
echo "foo is: $foo"; exit 0;
`);
k.stdout.pipe(process.stdout);
k.stderr.pipe(process.stderr);
Я получаю этот вывод на стандартный вывод:
foo is: '[foo,bar]'
и пытаюсь получить его вместо:
foo is: ["foo","bar"]
похоже, что это явление - то, что происходит, но я не могу понять, почему:
Почему строки JSON преобразуются с помощью оболочки bash
кто-нибудь знает, чточто происходит в моем скрипте и как заставить строку JSON оставаться JSON при прохождении через bash?