84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
环境变量问题 这是我的举例,到底什么是环境变量,有什么作用,在mac/linux系统上有什么区别?我查过一些资料,可是还是不太懂。在我学习node的过程中,经常有人跟我提到这个东西,可是我并不清楚它到底是什么。
走同样的路,发现不同的人生
环境变量简单来说就是给系统和应用程序设置一些参数,具体一个环境变量包括
名称
参数值
这样当系统启动一个应用程序的时候,这些参数就默认设置好了,在linux下你可以通过,修改/etc/profile、~/.profile等文件来设置系统全局的环境变量,如:
# other settings # ... export my_var 'hello world!';
然后就可以通过下面代码段,在你的程序运行期间获得这个值
#include <stdlib.h> #include <stdio.h> int main() { const char * my_var = getenv("my_var"); printf("my_var = %s\n", my_var); return 0; }
当然你说的nodejs程序中可以这样获取环境变量:
console.log(process.env)
会输出类似这样:
{ PATH: '/usr/local/bin:/usr/bin', JAVAHOME: '/usr/lib/Java', ... }
执行子进程的时候,也可以指定子进程自己的环境变量,如:
var exec = require('child_process').exec; var child = exec('cat *.js', { PATH: '/usr/bin', MY_VAR: 'hello world!' }, function (error, stdout, stderr) { console.log('stdout: ' + stdout); console.log('stderr: ' + stderr); if (error !== null) { console.log('exec error: ' + error); } });
通过child_process.exec函数的第二个参数,传递一个Object去覆盖默认的环境变量
这是我的一些认识和见解,希望对你有帮助,具体更深的我也讲不来,呵呵!
环境变量可以理解为一组文件夹路径,但你输入一个命令时,系统自动依次在这些文件夹中搜索可执行程序,找到就执行,找不到就报错。
点踩的那位同学你能给个为什么么?
环境变量简单来说就是给系统和应用程序设置一些参数,具体一个环境变量包括
名称
参数值
这样当系统启动一个应用程序的时候,这些参数就默认设置好了,在linux下你可以通过,修改/etc/profile、~/.profile等文件来设置系统全局的环境变量,如:
然后就可以通过下面代码段,在你的程序运行期间获得这个值
当然你说的nodejs程序中可以这样获取环境变量:
会输出类似这样:
执行子进程的时候,也可以指定子进程自己的环境变量,如:
通过child_process.exec函数的第二个参数,传递一个Object去覆盖默认的环境变量
这是我的一些认识和见解,希望对你有帮助,具体更深的我也讲不来,呵呵!
环境变量可以理解为一组文件夹路径,但你输入一个命令时,系统自动依次在这些文件夹中搜索可执行程序,找到就执行,找不到就报错。