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个命令。
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个命令。
相关文章推荐
- 用Python实现基本排序算法04——Shell排序
- Shell下不能使用Tab补全命令的原因
- Awk中调用shell命令
- shell删除每行开始的数字
- shell 数组建立及使用技巧
- shell 将变量当命令执行问题【多条命令同时执行问题】
- Shell中的${}、##和%%使用范例
- Linux 下的shell
- /etc/profile /etc/profile .bash_profile .bashrc解释
- bash-completion linux tab自动补全增强
- Linux shell 交互式编程、TCL/TK 和 Expect 编译与安装、expect 编程
- 转帖-shell脚本$与if用法
- Hbase shell详情
- vim--find--bash---作业
- Linux:-bash: ***: command not found
- 【转载】HBase基本概念和hbase shell常用命令用法
- 已解决:登录Linux的 -bash-4.2$ 问题
- linux shell 编程 echo 语句 颜色
- 一个简单的shell脚本-----实现虚拟机实验环境的简单配置
- 一个简单的shell脚本-----实现虚拟机实验环境的简单配置