小小千想和您聊一聊

当前位置: 首页> 技术分享> 网络安全 之 shell脚本与自动化

网络安全 之 shell脚本与自动化

概述

什么是脚本?

 脚本,是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。

什么是shell?

 命令解释器,负责接收用户输入的命令,进行解释将需要执行的操作传递给内核执行,并输出执行结果

当前系统所支持的shell有哪些?

 CentOS系统默认用户使用的shell为/bin/bash

 /etc/shells文件中保存了系统支持的shell种类

Bash

 Bourne again Shell是bsh的升级版也是应用最广泛的shell

编写shell脚本

可以使用任意编辑器编写如vim

vim /tmp/simple.sh 为了便于识别以sh结尾作为扩展名

#!/bin/bash  声明脚本运行环境
cd /boot
pwd
ll -h init*

赋予可执行权限

chmod a+x /tmp/simple.sh

执行脚本文件的几种方法

./simple.sh  在脚本所在目录执行
sh /tmp/simple.sh
source /tmp/simple.sh

脚本常用的工具

AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。

基本用法

awk -F: '{if(length($2)>3) print $1}' /etc/shadow

sort 文本内容排序

cat /etc/passwd|sort -t ':' -nk 3            从小到大,以冒号为分隔符,第三列。
cat /etc/passwd|sort -t ':' -nrk 3           从大到小

uniq 重复内容合并

通常配合sort一起使用

sort |uniq -c    显示每一项重复的次数

变量的作用

用来存放系统和用户需要的特定数值,变量赋值格式:变量名=变量值

 变量名:使用固定的名称,由系统预设或用户定义

 变量值:能够根据用户设置、系统环境的变化而变化

变量的类型

自定义变量:由用户自己定义、修改和使用

全局变量:在子shell中仍然能使用的变量

环境变量:由系统维护,用于设置工作环境

位置变量:通过命令行给脚本程序传递参数

预定义变量:Bash中内置的一类变量,不能直接修改

常见的变量类型

预定变量

bash预先设定好的一类特殊变量

$#:表示位置参数的个数

$*:表示位置参数的内容

$$:当前进程的进程PID号

$?:前一条命令执行完后的返回状态0表示正确,非0表示异常

$0:当前执行的脚本或程序名称

位置变量

表示为 $n,n为1~9之间的数字

./脚本名称 $1 $2

例如./simple.sh one two three four five six

if语句结构

多分支结构语法

if 条件测试操作A
    then 命令序列A
elif 条件测试操作B
    then 命令序列B
else
    命令序列C
fi

循环语句

for循环语句结构

for 变量 in 取值列表
do
命令
done

while语句结构

while 条件
do
命令
done


case语句语法结构

case 变量 in
模式A
命令A
;;
模式B
命令B
;;
.....
*
默认命令
esac

函数的建立

鉴于命令内容在脚本中会多次使用相同命令组,可以将这些多次出现的命令组定义为一个函数 需要时直接调用函数

函数的建立语法

函数名(){
     命令A
     命令B
     ...
     命令Z
     [ return value ]
 }

函数返回值,可以显示增加return语句;如果不加,则将最后一条命令运行结果作为返回值(一般为0,如果执行失败则返回错误代码)。 return后跟数值(0-255)


上一篇:白盒测试之条件覆盖法和判定条件覆盖法

下一篇:Qt使用教程(一)之前景篇

QQ技术交流群

千锋网络安全锋迷群
1092284319

加入群聊

用户登录

手机号:

密码:

图形验证码:

点击切换

用户注册

手机号:

登录密码:

图形验证码:

点击切换

短信验证码:

获取验证码

忘记密码

1安全验证

2重置密码

手机号:

图形验证码:

短信验证码:

获取验证码

忘记密码

1安全验证

2重置密码

新密码:

确认新密码:

获取课程

添加小千老师微信,获取课程信息

如何获取课程?

一、需拥有此本教材

如没有,可点击下方入口购买当当购买入口京东购买入口

二、添加小千老师,发送拥有凭证,解锁课程资源

1.购买该教材的订单信息
2.拥有的实体书信息等

更换手机号

新手机号:

图形验证码:

短信验证码:

获取验证码