node.js - Spawning child_process in NodeJS with valid HOME folder set -
node.js - Spawning child_process in NodeJS with valid HOME folder set -
i'm trying spawn process in nodejs accesses home folder, , can't see, either of options below work.
var spawn = require('child_process').spawn, options = {stdio: 'inherit', env: process.env}; spawn('ls', ['~/'], options); spawn('ls', ['$home'], options);
output
ls: ~/: no such file or directory ls: $home: no such file or directory
i've verified options.env.home
set, thought i'm doing wrong?
update
so ended doing create use-case work (using script
instead of ls
):
spawn('script', [process.env.home], options);
then, within of script:
#!/usr/bin/env bash export home=$1
i still don't understand why options.env.home
not seem work expected.
process.env.home want. utilize so:
var spawn = require('child_process').spawn, options = {stdio: 'inherit'}; var ls = spawn('ls', [process.env.home]); ls.stdout.on('data', function(data){ console.log(string(data)); }); ls.stderr.on('data', function(data){ console.log(string(data)); });
then can set home in shell when invoking node script:
home='/tmp'; node ls.js
alternatively, don't have overload home. utilize whatever variable export first, , access through process.env.:
export foo='/tmp'; node ls.js
node.js child-process
Comments
Post a Comment