分页: 1 / 1
求教,两种设置环境变量有什么区别阿?
发表于 : 2011-10-07 21:07
由 dtczhl
代码: 全选
1 #include "apue.h"
2
3
4 int
5 main(int argc,char *argv[])
6 {
7 printf("%s\n",tempnam(argv[1][0] != ' '? argv[1]:NULL,
8 argv[2][0] != ' '? argv[2]:NULL));
9
10 exit(0);
11 }
两种运行方法和结果如图
这两者到底有啥区别阿?
Re: 求教,两种设置环境变量有什么区别阿?
发表于 : 2011-10-08 19:09
由 raiden
前者相当于执行脚本, ./test享有TMPDIR变量;
后者第一条命令是对你当前的终端设置环境变量
Re: 求教,两种设置环境变量有什么区别阿?
发表于 : 2011-10-14 12:39
由 ChenFengyuan
在bash里面要设置环境变量需要export或者foo=abc ./bar.
直接赋值没有环境变量的效果.
代码: 全选
$ cat b.c
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("%s\n",getenv("abc")?:"NULL");
return 0;
}
$ gcc b.c
$ ./a.out
NULL
$ abc=1 ./a.out
1
$ abc=2
$ ./a.out
NULL
$ export abc
$ ./a.out
2
common lisp版本,用的clozure common lisp
代码: 全选
$ foo=1 ccl -e '(princ (ccl::getenv "foo"))' -b -Q < /dev/null
1
$ foo=3
$ ccl -e '(princ (ccl::getenv "foo"))' -b -Q < /dev/null
NIL
$ export foo
$ ccl -e '(princ (ccl::getenv "foo"))' -b -Q < /dev/null
3