传递环境变量
每个进程都有一组环境变量。你可以在命令行中输入set
或env
查看它们的值,它们一般会告诉进程一些有用的信息,比如用户主目录的位置,或去哪里找命令。C程序可以用getenv()
系统调用读取环境变量,右侧的diner_info
程序演示了getenv()
的使用方法。
如果你想用命令行参数和环境变量运行程序,可以这样做:
execle()
函数将设置命令行参数和环境变量,然后用diner_info
替换当前进程。
出错了怎么办?
如果在调用程序时发生错误,当前进程会继续运行。这点很有用,因为就算第二个进程启动失败,还是能够从错误中恢复过来,并向用户报告错误信息。而且幸运的是,C标准库提供了一些内置代码帮你做这些事。
在Cygwin中传递环境变量时一定要包含PATH变量。
在Cygwin中,加载程序时需要用
PATH
变量,因此在Cygwin上传递环境变量时一定要包含PATH=/usr/bin
。