摘要:Shell是运行在终端中的文本互动程序,Bash(Bourne-Again Shell)是最常用的一种shell。是当前大多数Linux发行版的默认Shell。Shell相当于是一个翻译,把我们在计算机上的操作或我们的命令,翻译为计算机可识别的二进制命令,传递给内核,以便调用计算机硬件执行相关的操作。同时,计算机执行完命令后,再通过Shell翻译成自然语言,呈现在我们面前。最开始在Unix系统中流行的是sh,而bash作为sh的改进版本,提供了更加丰富的功能。一般来说,都推荐使用bash作为默认的Shell。
一、Shell类别
1、登陆linux系统
2、查看默认的shell
3、Shell交互式环境介绍
# 表示当前登录的是超级用户root
root 表示当前登录的用户名
docker-redis 表示当前的主机名
~ 表示当前所在目录为家目录
4、Shell命令的分类
Shell命令可以分为两类,内嵌函数(built-in function)和可执行文件(executable file)。
内嵌函数(built-in function):shell自带的功能。比如pwd
可执行文件(executable file):保存在shell之外的脚本,提供了额外的功能。比如date
二、Bash Shell编程说明
1、代码大小写敏感
2、脚本文件多以.sh作为扩展名
3、首行注释需说明解释器的路径(如:#!/bin/bash)
4、指定脚本的返回值,一般脚本的返回值以exit命令指定,或以脚本最后一条命令的返回值为脚本返回值。
5、代码只能用行注释,以 '#' 开头。
三、Bash常用快捷键
1、Ctrl c:立即停止前台正在运行的程序
2、Ctrl d:退出,相当于exit命令。删除光标后的字符。
3、Ctrl l:清屏,相当于clear命令。
4、Ctrl a:光标移动到命令行的行首
5、Ctrl e:光标移动到命令行的行尾
6、Ctrl u:删除光标所在处至行首的字符
7、Ctrl k:删除光标所在处至行尾的字符
8、Ctrl r:利用关键字搜索命令历史
9、Shift PageUP/PageDown:如果某些命令的输出特别长,导致前面的内容以不在当前屏幕中,就可以使用这两个快捷键进行上下翻页。
四、Bash编程实践
1、在写bash脚本时,如何传参数?
执行#vim hello.sh编写如下程序
可以传0-6共七个参数,执行#./hello.sh接上参数。如下图
2、if语句。脚本执行的返回值,由脚本执行过程中,最后一条执行的命令的返回值来决定
执行#vim checkuser.sh编写如下程序
执行#./checkuser.sh接上用户名参数。如下图
3、case语句。专用于对字符串做判断
执行#vim checksystem.sh编写如下程序
执行#./checksystem.sh指令。如下图
4、while语句。循环语句
每隔3秒,打印一次系统负载。执行#vim while.sh编写如下程序
执行#./while.sh指令。如下图
5、for语句。循环语句
执行#vim for.sh编写如下程序
执行#./for.sh指令。如下图
6、Bash的数组操作
执行语句# declare -a array1 声明一个数组并定义4个数组,如下图
执行语句#echo ${array1[*]}显示所有数组或者某一个数组。如下图
参考数组实例。如下图
7、Bash的变量操作
执行#file=123abc.sh定义一个普通变量
打印一个普通变量的值打印一个普通变量的值
打印一个变量的值的字符个数
略去变量的前3个字符
取出变量的后3个字符
8、Bash的函数操作
执行#vim function.sh编写如下程序
执行#./function.sh指令。如下图
,