what is SHELL
感觉这句话不错,笔者私自盗过来了:
-
你在提示符下输入的每个命令都由shell先解释然后传给Linux内核
相当于一个接口程序,里面是Linux/Unix内核,外面是用户。
笔者最近一段时间在写接口,对接口有点感悟,上面不理解的朋友可以认识一下接口,不是简单的会写,而是找找接口的那种feel,这块只可意会不可言谈。
shell的种类
这个就多了,不过这个世界很简单,有一个左派,就有一个右派,最后出现一个中间派,集合了前两种的优点。照着这个思路,,,我们分析下几种shell:
第一种:面向Linux内核的。编程方面相当优秀,用户交互方面有所欠缺。 Bourne shell (sh)
第二种:面向用户的,和上面相反 C shell (csh)
第三种:集合前面两种优点的 Korn shell (ksh)
提一点: C语言从语言系统而言是很底层的语言了,但是在这个底层的圈子里,还是比较靠上的。c shell和c语言很相似,面向用户还是可以理解的。
ok, 我们看一下mac的shell:
zsh是 Bourne shell的一个变种,这样就清楚了,大体上有个分类了。
当然网上还有其它的分类,讲的特别清楚。有时间的话可以记一下,没时间,也没必要坚持。事有主次之分,过分纠结没那个必要,关键是能解决问题。
mac电脑的环境变量
总算把话题引到正路上了。其实最想讲的是这三点:
1./etc/profile (建议不修改这个文件 )
全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
2./etc/bashrc (一般在这个文件中添加系统级环境变量)
全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件。
3.~/.bash_profile (一般在这个文件中添加用户级环境变量)
每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!
上面三点直接复制这篇文章的:### Mac 可设置环境变量的位置、查看和添加PATH环境变量
一般而言,我们直接修改.bash_profile
就可以了。这样,几个文件清楚了,大体概念了解了,以后配置的时候,自然舒服一点。