今天我要跟大家分享的是我在学习运维第九天学到的知识点之一 “shell脚本”, 之前上课也一直见过老师写过一些简单的脚本,当时感觉脚本是一个很高大上的东西,但是当我真正开始学习的时候发现写脚本就是一个类似编程的过程。在这个过程中他会应用到我们之前学到的一些命令语句,这就要求我们要将这些语句掌握并熟练的应用到实际要去中,但是在应用之前首先我们还是应该知道如何去建立一个脚本并对他进行编辑保存退出等操作:
第一步:我们在编辑之前我们要知道我们用到的工具是vim 文本编辑器,然后我们选择一个路径来存放我们的脚本文件一般 我们会 cd /bin/app 进入app目录
第二歩:我们应该在APP目录下建立一个符合要求的文件或者是我们的vim会在当文件文在的情况下打开文件,当不存在下它 会帮我们新建一个按你个人要求的文件,然后就会进入。
第三步:我们进入后默认的会进入命令模式,在命令模式下我们是无法进行编辑的,但是我们可以做一些命令操作:
命令模式的撤销和修改:
u 撤销最近的修改
#u 撤销之前多次修改
U 撤销光标落在这一行后所有此行的修改
Ctrl - r 重做最后的 “撤销”更改
. 重复前一个操作
n. 重复前一个操作n次
多文件多文件模式:
:next 下一个
:prev 前一个
:first 第一个
:last 最后一个
:wall 保存所有
:qall 退出所有
:wqall 保存并退出所有
第四步:在命令模式下我们按 i 就会进入编辑模式,这就是我们所说的shell编程,而程序分为指令和数据这就出现了两种 编程风格,一种是过程式即:以指令为中心。数据服务于指令。另一种就是对象式即:以数据为中心指令服务于数 据。shell脚本的首行有如下要求:
首行shabang机制
#!/bin/bash
#!/usr/bin/python
#!usr/bin/perl
第五步:在编辑程序的时候我们可以声明一些变量,变量分为强类型和弱类型,shell中的变量种类有:本地变量,环境变 量,局部变量,位置变量,特殊变量等。我们声明过得变量是可以被我们引用的,当我们引用没有声明的变量是会出 现错误的。
第六歩:当我们写完脚本后是需要我们来保存退出有如下几种方式:
首先我们要按Esc进入命令模式然后按 :进入退出模式:
q 只退出
w 保存
q! 强制退出
wq或x 保存并退出
最后当我们完成脚本后需要去执行之前我们要将脚本加上执行权限 chmod +x file 然后还要检测脚本中的语法错误 bash -n /etc/passwd/test.sh 接着还要调试执行 bash -x /etc/passwd/test.sh 如果都没有错误我们才算完成一个脚本。