您的位置:首页 > 运维架构 > Shell

Mac终端Shell分类以及配置文件等级区别

2015-09-01 20:18 344 查看
打开mac终端,输入:
echo $SHELL

如果输出的是:csh或者是tcsh,那么你用的就是C Shell。
如果输出的是:bash,sh,zsh,那么你的用的可能就是Bourne Shell的一个变种。

Mac OS X 10.2之前默认的是C Shell。
Mac OS X 10.3之后默认的是Bourne Shell。

关于几种常用不同的Shell:

Bourne Shell(简称sh) Unix默认的Shell,是其他Shell的开发基础。(AT&Bell实验室Steven
Bourne为AT&T的Unix开发的)

C-Shell(简称csh) 基于sh,不同于sh,它提供了Bourne Shell所不能处理的用户交互特征,如命令补全、命令别名、历史命令替换等。但是,C Shell与BourneShell并不兼容。(加州伯克利大学的Bill
Joy为BSD Unix开发的)

Korn Shell(简称ksh) 它集合了C Shell和Bourne Shell的优点,并且与Bourne Shell向下完全兼容。Korn Shell的效率很高,其命令交互界面和编程交互界面都很好。(AT&T
Bell实验室的David Korn开发的)

Bourne Again Shell(简称bash) 它是Linux系统中一个默认的Shell。Bash不但与Bourne Shell兼容,还继承了C Shell、Korn Shell等优点。(自由软件基金会(GNU)开发的)

  

我的输出是bash。在这里只介绍Bourne Shell(sh)关于配置文件的等级介绍。

在Bourne Shell下有三种配置文件:

/ ect/profile
/ect/bashrc
~/.bash_profile

注:Linux里边是.bashrc 而MAC 是.bash_profile,所以Mac下只需要设置profile和.bash_profile;

/ect/profile(一般不建议修改这个文件)

全局(公有)配置,不管是哪个用户,登陆是都会读取该文件。

~/.bash_profile

一般在这个文件中添加用户级环境变量

若bash shell是以login方式执行时,才会读取此文件。该文件仅仅执行一次默认情况下,他设置一些环境变量。
在.bash_profile中设置的配置信息只有在打开终端的时候执行有效,终端关闭后,之前的设置的命令则无效;
如下图,打开终端执行jdk版本的切换命令(.bash_profile配置好的命令),切换jdk的版本,通过查看java -version命令确认;



再次关闭终端,查看java -version版本为默认版本



/ect/bashrc(mac没有此配置文件)

全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件。
可以加入mysqlstart、mysql和mysqladmin命令的别名,保证每一个用户都可以使用这3个命令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: