引言:命令行参数与环境变量的探索
通常,我们编写的main函数看似没有参数,但实际上它确实是带有参数的。





结果显示,参数列表确实以NULL结束。
为什么需要命令行参数呢?



父进程的父进程是bash。
当我们使用之前的选项运行程序时,发现该进程的父进程ID(ppid)同样是7241,即bash的子进程。由此可以推断:通过命令行启动的程序都会变成进程,且都是bash的子进程。
环境变量如图所示,为什么我们编写的程序运行时需要./前缀,而系统指令却不需要呢?
常见的环境变量包括:PATH:指定命令的搜索路径;HOME:指定用户的主工作目录(即用户登录到Linux系统时的默认目录);SHELL:当前Shell,通常是/bin/bash。查看环境变量的方法如下:
如果我们希望自己的命令像系统指令一样无需./前缀,该怎么做?





与环境变量相关的命令有:echo:显示某个环境变量的值;export:设置一个新的环境变量;env:显示所有环境变量;unset:清除环境变量;set:显示本地定义的shell变量和环境变量。
环境变量的组织方式如下:
使用env查看所有环境变量。



通过man指令,我们可以看到environ是char*类型,因为它指向的元素类型都是char。
下面是另一种获取环境变量的方式:
还有另外一种获取方式:

环境变量通常具有全局属性,是内建命令。
以上就是【Linux】命令行参数和环境变量的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/14786.html
微信扫一扫
支付宝扫一扫