文章目录
1.什么是环境变量 2.查看环境变量
echo 可以打印环境变量的值,打印时需要在环境变量前面添加“$”符号。
3.环境变量的应用
让我举几个应用程序环境变量的例子。
将自己程序的路径导入到PATH中
如果我们将自己的路径导入到PATH值中,那么当我们执行我们编写的路径时,就不需要将其引入到路径中,系统会根据环境变量的值自动查找。
要更改环境变量的值,请使用命令。
导入后,which命令不仅可以查看系统自带指令的路径,还可以查看自己写的指令的路径。
通过识别USER值判断权限
可以使用函数来获取进程内部的环境变量,这样根据不同的环境变量会出现不同的运行结果。
比如我们执行某些执行的时候,只允许root执行,不允许普通用户执行。 这是环境变量 USER。
可以看到,此时如果以普通用户执行,会出现权限不足的情况,如果以root身份执行,则会执行成功。
手写PWD命令
PWD环境变量的值为当前路径。 当我们使用 pwd 命令时,它只是打印 PWD 的值。 很简单,我们可以尝试自己写一下。
将mypwd移入系统命令的路径中,我们可以不带路径执行它。 这里就不做演示了。
自己定义一个环境变量
Bash 允许定义局部变量,但只定义局部变量,而不定义环境变量。 我们用 env 找不到它。
而且,如果我们此时使用进程查看局部变量,仍然找不到。 原因:bash本身就是一个进程,而我们创建的进程是bash的子进程,局部变量不能被子进程继承!
我们可以使用命令将局部变量导入到环境变量中。
这样我们就自己定义了一个环境变量。
顺便说一句,unset命令可以取消环境变量和变量的局部变量的状态。
set命令可以同时打印所有局部变量和环境变量。
4、获取进程中环境变量的值,使用函数获取
这个很简单,以字符串的形式传入环境变量名,然后调用函数即可。 上面也已经论证过了。
使用命令行参数获取
什么是命令行参数?
其中,argc是命令行参数和命令的数量,argv是将它们以字符串的形式保存。
下面我们来演示一下。
通过在执行流程时传入其他参数,可以根据获得的参数在流程内部得到不同的运行结果。
还有命令行参数,比如-s -t 60,可以让你的电脑在60秒后关闭,使用-a可以取消关闭。
那么如何通过命令行参数获取环境变量呢?使用第三个命令行参数
使用变量来获取
该变量是辅助指针。
演示如下: