当前位置: 技术问答>linux和unix
UNIX shell中获取C代码中设置的环境变量。
来源: 互联网 发布时间:2016-05-18
本文导语: 比如在C代码中有 putenv("RESULT=5"); 在shell中 调用C的可执行文件后,想获取RESULT的值。 有什么好方法? 网上有人说需要设置.cshrc文件。 我现在的要求是不修改任何系统上的环境变量。 | 我觉得直接设...
比如在C代码中有 putenv("RESULT=5");
在shell中 调用C的可执行文件后,想获取RESULT的值。
有什么好方法?
网上有人说需要设置.cshrc文件。
我现在的要求是不修改任何系统上的环境变量。
在shell中 调用C的可执行文件后,想获取RESULT的值。
有什么好方法?
网上有人说需要设置.cshrc文件。
我现在的要求是不修改任何系统上的环境变量。
|
我觉得直接设置是行不通的,因为你的程序作为shell的子进程是无法影响父进程(shell)的环境变量的
我想到的一个方法是在你的程序中生成一个文件(比如export_environ),把你需要设置的环境变量写在里边(比如"export RESULT=5")
shell程序大概可以这样
#!/bin/sh
./
if [ $? -eq 0 ]; then
source ./export_environ
echo $RESULT
else
echo "failed"
fi
我想到的一个方法是在你的程序中生成一个文件(比如export_environ),把你需要设置的环境变量写在里边(比如"export RESULT=5")
shell程序大概可以这样
#!/bin/sh
./
if [ $? -eq 0 ]; then
source ./export_environ
echo $RESULT
else
echo "failed"
fi
|
运行C程序完成后,然后在shell里通过“echo $?”可获得上一个运行命令(也即c程序)的返回值
|
echo $RESULT