LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 753|回复: 2

getenv 抓不到 $COLUMNS

[复制链接]
发表于 2006-8-28 10:56:05 | 显示全部楼层 |阅读模式

  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>

  4. int main(int argc, char *argv[])
  5. {
  6.     char *var, *value;

  7.     if(argc == 1 || argc > 3) {
  8.         fprintf(stderr,"usage: environ var [value]\n");
  9.         exit(1);
  10.     }
  11.     var = argv[1];
  12.     value = getenv(var);
  13.     if(value)
  14.         printf("Variable %s has value %s\n", var, value);
  15.     else
  16.         printf("Variable %s has no value\n", var);

  17.     exit(0);
  18. }
复制代码



[bash@calabash ~]$ ./a.out COLUMNS
Variable COLUMNS has no value
[bash@calabash ~]$ echo $COLUMNS
101



运行环境:fc4
发表于 2006-8-28 16:24:19 | 显示全部楼层
COLUMNS变量必需是export过的:

  1. [matt@gong source]$ ABC=def
  2. [matt@gong source]$ echo $ABC
  3. def
  4. [matt@gong source]$ ./a.out ABC
  5. Variable ABC has no value
  6. [matt@gong source]$ export COLUMNS=101
  7. [matt@gong source]$ ./a.out COLUMNS
  8. Variable COLUMNS has value 101
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-29 22:25:05 | 显示全部楼层
谢谢回复,确实是要export之后才能get。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表