“Bourne Again SHell(简称bash)”,这个shell是Bourne Shell的增强版本,是基于GUN得架构下发展出来的。
一、bash的优点:
1、主文件夹内的.bash_history记录了前一次登录以前所执行过的命令,这一次登录所执行的命令,在你成功注销之后,将会记录到.bash_history中。
2、Tab键实现命令和文件补全功能。
3、alias命令显示系统所有设置的命令别名,利用alias lm='ls -al'可直接设置命令别名。
4、支持通配符,例如:ls -l /usr/bin/a* 。
5、shell script实现一次处理大量需要连续执行的命令。
6、作业控制、前台、后台控制。
二、type [-tpa] command-name判断命令是否内置在bash中,
-t 三种情况:file:表示外部命令;
alias:表示别名设置的命令;
builtin:表示为内置bash命令。
-p 当为外部命令时,显示命令名称。
-a 显示命令定义的路径。
(\[enter] 实现当命令行太长时,用两行输出)
三、shell变量
1、显示版本号:echo $(uname -r) or echo `uname -r`(不是单引号,是~这个键产生的符号反单引号);
uname -r本身就是命令。
2、变量名定义只能有字母和数字,但是数字不能为首,赋值时等号两边不能有空格、单引号和双引号必须成对出现或是用转义字符“\”。
3、单引号和双引号:
var="lang is $LANG"和var='lang is $LANG'利用echo $var结果:
前者显示lang is en_US(双引号保留原本特性,变量会被替换掉),后者显示lang is $LANG(单引号纯文本)。
4、取消变量名称命令:
unset 变量名称。
四、查看环境变量:env ;
查看所有变量(包括环境变量):set 。
五、实现一次执行多条命令
1、cmd1; cmd2;cmd3;……//利用分号隔开依次执行多个命令
2、cmd1 && cmd2 //若cmd1正确执行完,再执行cmd2;否则,不执行cmd2
3、cmd1 || cmd2 //若cmd1执行错误,则继续执行cmd2;否则,不执行cmd2