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





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



父进程的父进程是bash。
当我们使用之前的选项运行程序时,发现该进程的父进程ID(ppid)同样是7241,即bash的子进程。由此可以推断:通过命令行启动的程序都会变成进程,且都是bash的子进程。
环境变量如图所示,为什么我们编写的程序运行时需要./前缀,而系统指令却不需要呢?
常见的环境变量包括:PATH:指定命令的搜索路径;HOME:指定用户的主工作目录(即用户登录到Linux系统时的默认目录);SHELL:当前Shell,通常是/bin/bash。查看环境变量的方法如下:
如果我们希望自己的命令像系统指令一样无需./前缀,该怎么做?
Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统
24





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



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

环境变量通常具有全局属性,是内建命令。
以上就是【Linux】命令行参数和环境变量的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号