shell配置--《shell脚本编程诀窍》

       shell配置文件:


个人配置主要集中在~/.profile($HOME/.profile)文件中。
打开新的交互式shell时,配置文件的执行顺序是/etc/profile、/etc/bash.bashrc(bash shell)、~/.profile,最后是 ~/.bashrc.
所有的shell都会读取~/.profile,因此最好将通用配置写入其中,然后将与bash相关的配置写入~/.bashrc,一般我们所设的环境变量在~/.bashrc文件中配置。


PATH
  可以通过设置PATH环境变量来告诉shell查找要运行的程序(和脚本)的路径。
PATH=${HOME}/bin:${PATH}
从安全的角度考虑,将点号(.)添加到PATH中这一做法是非常糟糕的,尤其是将其添加到PATH的开头。
如果进入某个目录并运行某个命令(可能是ls),则真正运行的是该目录下的某个名为ls的程序,而不是系统程序/bin/lis。不要在PATH的开头或结尾添加冒号,也不要使用中间没有路径的一对冒号,因为这一会造成与点号(.)同样的结果。另外,最好将/usr/bin与/bin这一的系统目录置于PATH的开头,这样本地脚本就不会覆盖同名的系统默认程序。因此,应当使用的语法是:
export PATH=${PATH}:${HOME}/bin
而不是:
export PATH=${HOME}/bin:${PATH}

注意:上面是读书笔记,但我不太赞成作者上面的配置,如果需要覆盖系统同名程序命令,我们还是要用第二种配置的,结合两种情况配置。比如,我的linux系统预装了openjdk,那我又安装来oracle的 jdk8,我想保留两个,但现在我需要的是oracle 的java,我就必须用第二种配置去覆盖openjdk的环境。


别名
alias less='less -X'
unalias less


如果已知某个命令(如rm)是别名,可以用两种方法来使用原始命令。
1.完整路径命令执行。如果知道命令的完整路径是/bin/rm,可以输入/bin/rm 来绕过别名机制。
2.在命令前面加上反斜线,\rm将调用非别名的rm命令。

你可能感兴趣的:(linux,bash)