• Linux


    Shell 会话有两种类型:login shell 会话和 non-login shell 会话。login shell 会话会提示用户输入用户名和密码,如虚拟控制台会话。而在 GUI 中启动的终端会话则是一个典型的 non-login shell 会话。

    用户登录系统后,bash程序就会启动并读取一系列启动文件。login shell 会读取一个或多个启动文件,如下表所示:

    文件 说明
     /etc/profile  适用于所有用户的全局配置脚本
     ~/.bash_profile   用户的个人启动文件。可扩展或重写全局配置脚本
     ~/.bash_login  若 ~/.bash_profile 缺失,则 bash 尝试读取此脚本
     ~/.profile  若 ~/.bash_profile 与 ~/.bash_login 均缺失,则 bash 尝试读取此文件。在基于 Debian 的 Linux 版本中(如 Ubuntu),这是默认值 

    non-login shell 读取的启动文件如下:

    文件 说明
     /etc/bash.bashrc   适用于所有用户的全局配置脚本
     ~/.bashrc  用户的个人启动文件。可扩展或程序全局配置脚本 

    non-login shell在读取以上启动文件之外,还会继承父进程的环境,父进程通常是一个login shell。


    用户可以通过修改启动文件自定义环境变量,例如在 ~/.bashrc 中配置:

    export JAVA_HOME=/usr/lib/jvm/java-7-sun
    export PATH=$PATH:${JAVA_HOME}/bin

    只有在启动 shell 会话时才会读取 ~/.bashrc,因此对 ~/.bashrc 做出的修改只有在关闭 shell 终端会话并重启才会生效。也可以用 source 命令使 bash 重新读取 ~/.bashrc 文件:

    source ~/.bashrc

    export 命令

    命令格式

    export [-fn] [name[=value] ...]

    export -p

    命令参数

    -f
      引用 shell 函数。
    -n
      删除指定的环境变量。
    -p
      列出所有的环境变量。

  • 相关阅读:
    js 高阶函数之柯里化
    JavaScript 相关的工具代码
    JS 数组、对象的深拷贝
    页面性能优化
    axios(封装使用、拦截特定请求、判断所有请求加载完毕)
    java 实现登录验证码 (kaptcha 验证码组件)
    告别 hash 路由,迎接 history 路由
    解决 Vue 动态生成 el-checkbox 点击无法赋值问题
    分享基于 websocket 网页端聊天室
    vue + element 动态渲染、移除表单并添加验证
  • 原文地址:https://www.cnblogs.com/huey/p/4328741.html
Copyright © 2020-2023  润新知