一进入 bash 就取得一堆有用的变量,这是因为系统有一些环境设置文件的存在,让 bash 在启动时直接读取这些配置文件,以规划好 bash 的操作环境,这些配置文件又可以分为全体系统的配置文件以及使用者个人偏好配置文件
login shell 与 non-login shell
login shell 与 non-login shell! 重点在于有没有登陆 (login)
- login shell:取得 bash 时需要完整的登陆流程的,就称为 login shell。举例来说,
1.登录系统时获得的顶层shell,获得的login shell是一个交互式shell
2.在终端下使用–login选项调用bash,可以获得一个交互式login shell
3.在脚本中使用–login选项调用bash(例如:#!/bin/bash –login)可以得到一个非交互式的login shell
4.su -切换的shell(su - runda
为login shell,su runda
则获得non-login shell) - non-login shell:取得 bash 接口的方法不需要重复登陆的举动,举例来说,
1.su切换的shell(su - runda
为login shell,su runda
则获得non-login shell)
2.桌面版ubuntu打开的shell,终端接口并没有需要再次的输入帐号与密码,那个 bash