.
non-login shell
:取得
bash
½口的方法不需要重复登入的举动,举例来说,
(1)
你以
X window
登入
Linux
后,
再以
X
的图形化½口启动终端机,此时那个终端½口并没有需要再次的输入账号与密码,那个
bash
的环
境就称为
non-login shell
了。
(2)
你在原本的
bash
环境下再次下达
bash
这个指令,同样的也没有输入账号
密码,
那第二个
bash (
子程序
)
也是
non-login shell
。
为什么要½绍
login, non-login shell
呢?这是因为这两个取得
bash
的情况中,读取的配置文件数据
并不一样所致。
由于我们需要登入系统,所以先谈谈
login shell
会读取哪些配置文件?一般来说,
login shell
其实只会读取这两个配置文件:
1.
/etc/profile
:这是系统整体的设定,你最好不要修改这个文件;
2.
~/.bash_profile
或
~/.bash_login
或
~/.profile
:属于使用者个人设定,你要改自己的数据,就写入这里!
那么,就让我们来聊一聊这两个文件吧!这两个文件的内容可是非常繁复的喔!
.
/etc/profile (login shell
才会读
)
你可以使用
vim
去阅读一下这个文件的内容。这个配置文件可以利用使用者的标识符
(UID)
来决定
很多重要的变量数据,
这也是
每个使用者登入取得
bash
时一定会读取的配置文件
!
所以如果你想
要帮所有使用者设定整体环境,那就是改这里啰!不过,没事还是不要随便改这个文件喔
这个文件
设定的变量主要有:
.
PATH
:会依据
UID
决定
PATH
变量要不要含有
sbin
的系统指令目录;
.
MAIL
:依据账号设定好使用者的
mailbox
到
/var/spool/mail/
账号名;
.
USER
:根据用户的账号设定此一变量内容;
.
HOSTNAME
:依据主机的
hostname
指令决定此一变量内容;
.
HISTSIZE
:历史命令记录笔数。
CentOS 7.x
设定为
1000
;
.
umask
:包括
root
默认为
022
而一般用户为
002
等!
/etc/profile
可不止会做这些事而已,他还会去呼½外部的设定数据喔!在
CentOS 7.x
默认的情况下,
底下这些数据会依序的被呼½½来:
o
/etc/profile.d/*.sh
其实这是个目录内的众多文件!只要在
/etc/profile.d/
这个目录内且扩展名为
.sh
,另外,使用者
能够具有
r
的权限,
那么该文件就会被
/etc/profile
呼½½来。在
CentOS 7.x
中,这个目录底
下的文件规范了
bash
操作½口的颜色、
语系、
ll
与
ls
指令的命令别名、
vi
的命令别名、
which
的命令别名等等。如果你需要帮所有使用者设定一些共享的命令别名时,
可以在这个目录底下自
行½立扩展名为
.sh
的文件,并½所需要的数据写入即可喔!
o
/etc/locale.conf
这个文件是由
/etc/profile.d/lang.sh
呼½½来的!这也是我们决定
bash
预设使用何种语系的重要
配置文件!
文件里最重要的就是
LANG/LC_ALL
这些个变量的设定啦!我们在前面的
locale
讨
论过这个文件啰!
自行回去瞧瞧先!
o
/usr/share/bash-completion/completions/*