Linux ~ 环境变量

Linux中,变量名一般是大写的,这是一种约定俗成的做法。

那么什么是环境变量呢???

从字面上理解,环境就是系统运行时,变量就是一个值可变化的量,那么结合到一起,系统在运行时的环境配置,会从某些变量中取值,此时这种变量就叫环境变量。

如果还是没有理解,我们再举一个php项目的例子:

比如有个laravel的项目,我一启动项目,项目运行环境可能依赖于 MySQL ,那么我们肯定是有一个MySQL的连接配置,比如 .env 文件中:

DB_CONNECTION=mysql
DB_HOST=172.29.97.130
DB_PORT=3306
DB_DATABASE=laravel_weibo
DB_USERNAME=junwind
DB_PASSWORD=junwind_123

上面的字段,其实都是我们这个项目运行环境的环境变量,这种环境变量,你当然可以在运行时修改的,但是要明白,修改了会影响到正在运行的环境。

练习:输出当前用户的家目录,当前主机名,用环境变量的方式?

echo $HOME, $HOSTNAME

如何查看Linux系统中有哪些环境变量?

env   // 查看所有的环境变量

一些比较重要的环境变量:

问题:同一个环境变量,在不同用户登录下,值是不变吗?

可能会变,也可能不会变。

因为 Linux 是一个多用户,多任务的操作系统, 每个用户都有独立的运行环境。 因此,同一个环境变量,在不同用户身份下,可能是不同的,比如 HOME

echo $HOME

su - xqw
echo $HOME

当然也可能还是相同的:

echo $SHELL

su - xqw
echo $SHELL

问题:我们可以自己创建环境变量吗?

当然可以。

mkdir ~/workdir
WORKDIR=~/workdir    // 设置了一个环境变量
echo $WORKDIR
cd $WORKDIR  

我们要注意,上面设置的环境变量,只是针对当前用户的bash环境下,别的用户是看不到的,或者说当前用户再开一个bash环境,也是看不到的。

bash   // 再开启一个bash环境
echo $WORKDIR   // 没有任何内容输出

su xqw
echo $WORKDIR   // 其它用户也看不到

说明它的作用范围,仅是当前用户的当前bash下所设置的环境,离开了这个环境,就无法访问到了。

问题:我们怎么把自己设置的环境变量,让其它人也可以看到呢?

export WORKDIR   // 将WORKDIR提升为全局变量,这样其他用户,或者当前用户的其他bash环境下,都可以访问了。

bash
echo $WORKDIR
exit

su xqw
echo $WORKDIR

问题:怎么删除一个环境变量?

unset WORKDIR

注意:系统自己的环境变量,可不要删除了,这会导致你的系统出问题的。

问题:重启系统后,发现之前创建的环境变量失效了?

我们上面,都是直接在终端中创建的环境变量,这种能立即生效。 但是当服务器重启后,确实会丢失,因为在终端中创建的,只是存放于内存中的。

所以,我们写到文件中就可以了。

如果是针对某个用户的环境,我们直接写入这个用户家目录下的 .bashrc ,或 .bash_profile 中。

如果是针对所有人的,我们可以写入 /etc/bashrc

注意:写入文件中,并不能立马生效,我们可以用 . .bashrcsource .bashrc 来重新加载配置文件,让修改立即生效。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇