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

本文介绍了Unix默认的Bourne Shell及其派生的C Shell、Korn Shell和Bash Shell,详细阐述了它们的特点和兼容性。此外,还提到了Mac系统中Shell的配置文件层级,包括/ect/profile、~/.bash_profile和/ect/bashrc,讨论了不同配置文件的适用场景和使用注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打开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下有三种配置文件:
  1. / ect/profile
  2. /ect/bashrc
  3. ~/.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个命令。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值