当前位置: 技术问答>linux和unix
请问如何在C语言中获得shell 变量
来源: 互联网 发布时间:2015-03-08
本文导语: 请问如何在C语言中获得shell 变量,比如LINES和COLUMNS | 先把shell变量export 到环境中,然后再用getenv,或者 你可以用 main (register int argc, register char **argv, char **envp) **envp 是所有环境变量的...
请问如何在C语言中获得shell 变量,比如LINES和COLUMNS
|
先把shell变量export 到环境中,然后再用getenv,或者
你可以用
main (register int argc, register char **argv, char **envp)
**envp 是所有环境变量的列表
即你在shell下用env命令得到的所有变量
你可以用
main (register int argc, register char **argv, char **envp)
**envp 是所有环境变量的列表
即你在shell下用env命令得到的所有变量
|
shell启动一个进程的方法是先fork,然后exec,
对于export的环境变量,shell让子进程拥有一份拷贝,你可以通过楼上提供的方法来取得
在exex之后父子进程修改环境变量的值,都不能改变对方相应环境变量的值
对于system来说,相当于你启了一个子进程,这个进程export环境变量只能继承给它的子进程
无法影响你的进程数据
对于export的环境变量,shell让子进程拥有一份拷贝,你可以通过楼上提供的方法来取得
在exex之后父子进程修改环境变量的值,都不能改变对方相应环境变量的值
对于system来说,相当于你启了一个子进程,这个进程export环境变量只能继承给它的子进程
无法影响你的进程数据
|
很多书上都有详细的例子,解决办法也很多,共享内存,rpc, socket通信都可以。
|
不是吧,这么难吗,在c程序里面$var就可以取到阿
试试先
试试先