常见linux命令释义(第八天)—— Bash Shell 的操作环境
换了新公司,公司的领导很不错。自己感受比较多的地方是,自己的工作效率明显比以前高了。以前会对频繁变动的需求十分不耐烦,现在接到需求后会仔细的思考,进行整体构建。即使以后需求有变动,也能够比较轻易的在原有的基础上改动。以前总是跟着别人说频繁变动需求的项目经理都是傻逼,其实我们都掉进了一个认为自己是一个程序员的局里。自认为自己是一名程序员,只关心自己编辑器里那点一亩三分代码的人,是永远也成长不了项目经理乃至于CTO的。至于有人说我就喜欢写代码,那么我只想说不想当将军的士兵不是好士兵。代码只是实现需求的做成产品的一个步骤而已,所以不要把自己太当回事,好好的和其他的同事合作,有矛盾正是锻炼自己沟通能力的机会,大家的共同目的是为了作出安全、简单、可依赖的产品,大家以前都是陌路人,为了一个目标才聚在一起的,不要中途被其他的目标干扰了方向,忘记了初衷。
这个解析linux命令的系列最后一篇是2015年9月。之后听了一位linux老师的话,就没有继续在linux上钻研下去了,转战了更加实用的的js和mysql。而后两者在工作中和求职中充当了重要角色,如果不是及时转战,我也许现在还是一名水平很菜的初级程序员呢。可是linux是成长道路上的一道门槛,和英语一样都会成为以后发展道路上的拦路石。于是在这个公司试用期内,主要的规划就是将linux系统的学习一个遍。学习的书籍还是《鸟哥的linux私房菜》。
之前听园子的一些“老同志”说不要经常发一些入门级的文章进去,但是我还是会坚持的发下去。
今天老大给了我一个测试服务账号,接下来我被登录服务器的login信息逗笑了。
那么这个效果是如何实现的呢?为何登录后就会出现呢?那么我们要首先了解bashd的登录与欢迎信息:
1、bash 的登录信息与欢迎信息
在/etc/下有三个文件可以在登录的时候打印登录信息。
/etc/issue 直接在换行后输入自己的想要添加的欢迎信息即可。
/etc/issue.net 当使用telnet 连接到主机时,主机的登录界面会显示这个文件里的欢迎信息。
/etc/motd 上图的内容就是修改这个文件,然后产生的效果。motd 是Message Of The Day 日常消息的意思。当我想通知这个服务器所有的登录者,今天要停机维护的时候,这是个比较好的方式。
2、bash的环境配置
当我们登录到linux的时候就已经获取了linux的环境变量。这一点和其他的语言一样,都有自己内置的变量。比如客户端的JavaScript 也有内置对象、浏览器的对象、以及用户设置的对象等,前两种内置对象可以统称为原始对象,这一点和linux是一样一样的。举这个例子是给不了解服务端程序的同学普及一下。
当我们从一个bash 进入到另一个bash(子进程)中的时候为什么在父进程中设置的变量在子进程中获取不到呢。这个要牵扯到变量作用域的问题。有关变量作用域的讲解,请查看
2、 常见linux命令释义(第六天)——shell环境变量
那么变量作用域的功能是如何实现的呢?这个就要提到bash的环境配置文件:login 与 non-longin shell
当我们登录的时候会首先去加载这个login shell.
login shell 会去/etc/profile加载整个系统的环境配置。所以我们不要去动里面文件。
/etc/profile login shell 才能读
/etc/inputrc 定义了键盘的快捷键
/etc/profile.d/*.sh 定义了一些脚本
/etc/sysconfig/i18n 定义了当前语言变量
login shell 只会读取以下三个文件中的一个,按照顺序读取,如果第一个存在就不继续读取第二个,以此类推。
~/.bash_profile 用户自己定义的变量
~/.bash_login
~/.profile 自定义变量
个人配置。login shell 和 non-login shell 都会读
~/.bashrc
夜深了,剩下的章节明天写吧。