第四章:Vim编辑器与Shell命令脚本
越往后学是越头疼啊,有些东西晦涩难懂,还是要靠手巧去慢慢理解。
Linux里面有两个编辑器,Vim和Vm,为什么学Vim而不学Vm呢,
因为Vm里面没有Vim中着色丰富,用Vim编辑器编写Shell脚本时,
输入不同的信息会有不一样的色彩,便于我们区分。
在Vim编辑器中,有三种模式,分别是:命令模式、输入模式、末行模式,这三种模式分别有不同的功能以及操作方法,
为了后面学习编写脚本等内容,一定要慢慢学会Vim编辑器。
在学习Vim编辑器后,我们来试着配置一下主机名称
在Linux中,主机名大多保存在**/etc/hostname**文件夹中,用Vim编辑器修改主机名为linuxprobe.com吧
在尝试配置完主机名称后,也对Vim有了些许了解,接下来配置一下我们的网卡信息,
在RHEL7中,网卡配置文件前缀以“ifcfg”开头加上网卡名称,共同组成了网卡配置文件的名字。
如果不知道自己的网卡名称,先用“ifconfig”命令确认网卡的默认名称
1、切换到**/etc/sysconfig/network-scripts目录中(存放着网卡配置文件)。
2、使用Vim编辑器修改网卡文件ifcfg-eno16777736,逐项写入下面的配置参数,并保存退出。
设备类型:TYPE=Ethernet
地址分配模式:BOOTPROTO=static
网卡名称:NAME=eno16777736
是否启动:ONBOOT=yes
IP地址:IPADDR=192.168.10.10
子网掩码:NETMASK=255.255.255.0
网关地址:GATEWAY=192.168.10.1
DNS地址:DNS1=192.168.10.1
3、重启网络服务并检测网络是否联通。用“systemctl restart network"命令重启网卡设备(正常情况下没有提醒),
然后通过“ping”命令车市网络能否联通,在Linux下“ping”命令不会自动终止,因此需要Ctrl-c**手动终止。
我们现在配置的网卡信息还不能联通,是为了联系Vim编辑器,等到后面会一步一步教网卡信息的相关内容。
现在来配置我们的软件仓库“Yum”吧!
1、进入/etc/yum.repos.d目录中(该目录存放着Yum软件仓库配置文件)
2、使用Vim编辑器创建一个名为rhel7.repo的新配置文件(文件名可随意,后缀必须为.repo),逐项写入下面内容。
[rhel-media] :Yum软件仓库唯一标识符,避免与其他仓库冲突。
name=linuxprobe :Yum软件仓库的名称描述,已于识别仓库用处。
baseurl=file:///media/cdrom :提供的方式包括FTP(ftp://…)、HTTP(http://…)、本地(file:///…)。
enabled=1 :设置此源是否可用;1为可用,0为不校验。
gpgcheck=1 :设置此源是否校验文件;1为可用,0为不校验。
gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release :若上面参数开启校验,那么请指定公钥文件地址。
3、按配置参数的路径挂载光盘,并把光盘挂载信息写入到**/etc/fstab**文件中。
4、使用“yum install httpd -y”命令检查Yum软件仓库是否已经可用。
学到这里,还不能将Vim编辑器彻底设置好,有些内容需要等到第六章,我们还是先把Vim编辑器弄明白吧。
在Linux系统中默认使用的Shell终端解释器是Bach,接下来,就让我们来编写简单的脚本吧。
我们的脚本文件也是用Vim编辑器来编写,可见学习Vim编辑器的重要性。
Shell脚本文件的名称可以任意,但为了避免被误以为是普通文件,建议将**.sh后缀加上,一表示是一个脚本文件。
在Shell脚本文件中有三种不同的元素:
1、#!:第一行的叫本声明,用来告诉系统使用哪种Shell解释器来执行该脚本;
2、#** :注释信息,对脚本功能和某些命令的介绍信息(可有可无);
3、可执行语句,也就是我们平时的Linux命令。
在Shell脚本中:
0∗∗:当前脚本名称。∗∗0** :当前脚本名称。
**0∗∗:当前脚本名称。∗∗# :总共有几个参数。
∗∗∗:分别是谁谁谁。∗∗*** :分别是谁谁谁。
**∗∗∗:分别是谁谁谁。∗∗N :对应第N个位置的参数值。
使用bash命令执行我们写入的脚本文件:bash 文件名 参数。
判断用户的参数需要用到测试条件语句,Shell脚本中的条件测试语法可以判断表达式是否成立,
若条件成立则返回数字0,否则返回其他随机数值,条件测试语法如下:
[ 条件表达式 ] :两边均应有一个空格!!!
按照测试对象划分,条件测试语句可以分为4种:
1、文件测试语句
2、逻辑测试语句
3、整数值比较语句
4、字符串比较语句
若想查看上一条命令执行后的返回值,用echo $?,0是,!0否。文件测试常用运算符表4-3
逻辑测试语句中,是将逻辑运算符用入其中,逻辑运算符有三种:&&、||、!(读法为与、或、非)。
&& :逻辑与,用在两条命令中间,如果前面的命令成功,则执行后面的,若不成功,则不执行后面命令。
|| :逻辑或,同逻辑与一样用在两条命令中间,如果前面的命令失败,则执行后面的,若成功则不执行后面命令。
! :逻辑非,用在一段命令前,表示取这段命令的相反值,如果命令执行成功则返回失败。
整数比较运算仅是对数字的操作,不能将数字与字符串、文件等内容一起操作。可用的整数比较运算符 表4-4
字符串比较语句用于判断测试字符串是否为空值,或两个字符串是否相同。他经常被用来判断某个变量是否被定义。常用比较运算符 表4-5
if条件测试语句,if语句分为单分支结构、双分支结构、多分支结构;其复杂度随着灵活度一起逐级上升。
if语句由if、then、elif、else、fi等关键词组成,if和fi为固定格式,前者在头,后者在尾,缺一不可。
接收用户输入的参数:使用read -p “Enter:” TEXT接收用户输入的参数放入TEXT变量中。