Bash shell 的操作环境

路径与命令搜寻顺序

  1. 以相对/绝对路径运行命令,例如『 /bin/ls 』或『 ./ls 』;
  2. 由 alias 找到该命令来运行;
  3. 由 bash 内建的 (builtin) 命令来运行;
  4. 透过 $PATH 这个变量的顺序搜寻到的第一个命令来运行。

bash 的进站与欢迎信息: /etc/issue, /etc/motd

bash 的环境配置文件

  1. login 与 non-login shell

    • login shell:取得 bash 时需要完整的登陆流程的,就称为 login shell。举例来说,你要由 tty1 ~ tty6 登陆,需要输入用户的账号与密码,此时取得的 bash 就称为『 login shell 』啰;

    • non-login shell:取得 bash 接口的方法不需要重复登陆的举动,举例来说,(1)你以 X window 登陆 Linux 后, 再以 X 的图形化接口启动终端机,此时那个终端接口并没有需要再次的输入账号与密码,那个 bash 的环境就称为 non-login shell了。(2)你在原本的 bash 环境下再次下达 bash 这个命令,同样的也没有输入账号密码, 那第二个 bash (子程序) 也是 non-login shell 。

  2. /etc/profile (login shell 才会读)

    • 如果你想要帮所有使用者配置整体环境,那就是改这里
    • 还会去呼叫外部的配置数据
      • /etc/inputrc
      • /etc/profile.d/*.sh
      • /etc/sysconfig/i18n
    • ~/.bash_profile (login shell 才会读)
      • ~/.bash_profile
      • ~/.bash_login
      • ~/.profile
      • bash 的 login shell 配置只会读取上面三个文件的其中一个, 而读取的顺序则是依照上面的顺序
  3. source :读入环境配置文件的命令

     范例:将家目录的 ~/.bashrc 的配置读入目前的 bash 环境中
     [root@www ~]# source ~/.bashrc  <==底下这两个命令是一样的!
     [root@www ~]#  .  ~/.bashrc
    
  4. ~/.bashrc (non-login shell 会读)