当我们登录Unix的那一时刻,其实就已经调用了unix的shell脚本,shell的启动文件是那个呢?
系统在配置你的线程的时候通常需要一些环境变量(例如:PATH,EIDTOR.)。正如你已经看到的,它们必须在你每次登录的时候定义。.profile文件和.kshrc文件十分有效。它们是简单的shell脚本文件,可以用来定制你的环境变量,定义别名,在登录时执行程序。由于POSIX shell 是起源于Korn shell,而Korn shell又是起源于Bourne shell,所以,POSIX shell 支持同样的配置文件。
系统启动文件:/etc/profile
这个文件是一个对系统中的所有用户都有效的初始化文件,前提是这些用户使用的是Bourne,Korn,或者POSIX shell.。系统管理员可以定制这个文件来提供所有的用户的一个一致的用户环境。普通的用户一般没有权限更改这个文件,用户定制他们自己的环境只能通过自己的.profile和.kshrc文件
用户启动文件:.profile
任何想要定制由系统管理员提供的默认环境的用户都可以创建或修改.profile文件。这个文件通常定义或定制了环境变量,设置用户的终端,在登录过程时执行如date这样的程序。用户的应用同样也可以通过在.profile中的exec applicationname来启动。在这种方式下,用户不会存取到shell提示符,并且,当应用程序退出,用户同时会退出登录。
登录可选文件:.kshrc
POSIX和K shell都有一个可选的叫做.kshrc的配置文件。它的作用同.profile一样是配置你的用户环境,同.profile不同的是,.kshrc是在每次你启动一个新的shell时被读取。而不仅仅是在登录的时候。这种方式允许在每次你启动一个新的shell地时候设置你的别名或甚至提示符。在象X11 windows这种环境中,你可能同时运行几个shell,你可以使用.kshrc文件,这样,每一个shell看上去都是一样的。
.kshrc这个文件名不是一个必须的文件名。当你激活一个shell,它会通过ENV这个变量来索引这个文件。这个文件通常都是.kshrc,但它也可以使用其他的名字。
ENV=~/.kshrc
export ENV
这会告诉K shell你使用你的home目录下的.kshrc文件,现在就可以在..kshrc中加入你的别名和命令。
如果你同时使用Bourne 和POSIX shell,你可以存储POSIX shell的环境变量到这个文件中,因为Bourne shell不会读这个文件。