推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

【Linux】环境变量

   2023-07-02 网络整理佚名2540
核心提示:env指令可以打印系统中所有的环境变量环境变量的应用改变环境变量的值,使用命令。在进程内部可以使用函数获取环境变量,从而根据环境变量的不同出现不同的运行结果。比如在我们执行某些执行时,它只允许root去执行,不允许普通用户执行,这就是环境变量USER在起作用。自己定义一个环境变量这样我们就自己定义了一个环境变量了那么如何用命令行参数获取环境变量呢?

文章目录

1.什么是环境变量 2.查看环境变量

env命令可以打印系统中所有的环境变量

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可以取消关闭。

那么如何通过命令行参数获取环境变量呢?使用第三个命令行参数

使用变量来获取

该变量是辅助指针。

演示如下:

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON