linux环境变量详解_linux查看环境变量命令

linux环境变量详解_linux查看环境变量命令交互式shell与非交互式shell交互式shellshell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。非交互式shell在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。bashrc与profilebashrc与profile都用于保存用户的环境信息。bashrc用于_linux私有环境变量

linux环境变量详解_linux查看环境变量命令"

交互式shell与非交互式shell

  • 交互式shell

shell等待你的输入,并且执行你提交的命令。

这种模式被称作交互式是因为shell与用户进行交互。

这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。

  • 非交互式shell

在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。

当它读到文件的结尾,shell也就终止了。

bashrc与profile

bashrcprofile都用于保存用户的环境信息。

  • bashrc用于交互式non-loginshell,每次打开新的shell时执行
  • profile用于交互式login shell,仅登录时执行

系统中存在许多bashrcprofile文件,下面逐一介绍:

  • /etc/profile: 此文件为系统的每个用户设置环境信息,当第一个用户登录时,该文件被执行。会引导循环加载/etc/profile.d/*.sh
for i in /etc/profile.d/*.sh ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null fi fi done 
  • /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。会引导循环加载/etc/profile.d/*.sh
  • ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,它设置一些环境变量,然后执行用户的.bashrc文件
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
  • ~/.bashrc: 该文件包含专用于某个用户的bash shellbash信息,当该用户登录时以及每次打开新的shell时,该文件被读取

总结

  • /etc/profile/etc/bashrc设定系统全局环境变量,可以作用于任何用户

  • ~/.bash_profile~/.bashrc设定用户目录私有环境变量,继承自全局环境变量。都具备个性化定制功能

    • ~/.bash_profile: 可以设定本用户专有的路径、环境变量等,只能登入的时候执行一次
    • ~/.bashrc:作用同~/.bash_profile, 每次shell script的执行都会使用它一次
  • 登入系统获得一个shell进程时,读取环境变量步骤:

    1. 读取全局环境变量/etc/profile,循环加载/etc/profile.d/*.sh
    2. 根据当前账号读取~/.bash_profile,如果读取不了就读取~/.bash_login,如果读取不了再读取~/.profile,注意顺序关系
    3. 根据当前账号读取~/.bashrc
  • 修改profile和bashrc后,需要执行source命令立即生效

  • 根据/etc/profile中注释It's NOT a good idea to change this file unless you know what you are doing. It's much better to create a custom.sh shell script in /etc/profile.d/ to make custom changes to your environment,不要直接修改/etc/profile文件,在/etc/profile.d目录下添加自定义环境变量

  • 执行env命令查看环境变量

今天的文章linux环境变量详解_linux查看环境变量命令分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/57927.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注