
shell脚本
无
Mllllk
只想做自己想做的,学自己想学的
展开
-
华为防火墙L2TP 客户机发起端配置(本地验证)
1、完成基本互联接口的IP配置,安全区域的设置,路由的配置,保证客户端可以访问到防火墙2、配置地址池上面是华为的产品文档,其中标注了当分配给客户端的IP与内网的目标主机为同网段时必须设置防火墙连接内部网络的接口的ARP请求应答功能,这是为什么?因为当主机接收到解封后的L2TP报文后,会发现目的地址为同网段,于是就会发出arp请求,防火墙连接内部网络的接口默认时若不做arp代理,这时就会导致业务中断,所以需要开启接口的arp请求。3、配置业务方案如图所示,将先前配置好的地址池绑..原创 2022-04-02 20:25:54 · 4804 阅读 · 1 评论 -
自动挂载磁盘
可以在这种直接交互式的命令中后面加上参数,这样就不需要使用expect命令去麻烦的交互了原创 2022-04-01 20:33:59 · 202 阅读 · 0 评论 -
改变shell的颜色
格式:echo -e '\033[xx;xx;xm 输入的内容\033[0m'实例:echo -e '\033[43;34;4m 下划线 \033[0m'原创 2022-04-01 19:03:58 · 462 阅读 · 0 评论 -
Shell脚本登录网络设备并执行dis cu
Shell主要使用的就是expect工具,它可以通过向进程发送命令从而达到非交互的方式去登录设备并在登录设备上执行语句expect工具有几个相关的语法格式:spawn 在它的后面跟上在shell中执行的语句,在expect解释的过程中是不能直接使用shell中的命令的 expect expect表示期望在屏幕遇到什么样的内容,我们使用expect指出我们遇到什么样的内容之后,才能再指定用该工具输入什么样的内容 send 当我们使用expect指定了希望遇到的内容之后,就需要原创 2022-02-17 19:16:48 · 2347 阅读 · 0 评论 -
关于linux中sed默认情况下的输出情况总结
默认情况下,sed工具的输出可以用一句话来形容:修改后的文本内容。a:在a操作下,我们添加在语句后的内容会在原文的基础上输出。i:在i操作下,我们添加在语句前的内容会在原文的基础上输出c:在c操作下,原来的文本内容会进行修改并输出d:在d操作下,会将文本内容中的目标文本内容删除并输出w:在w操作下,因为w操作仅仅做的是另存操作,并未在原文内容上做任何的改动,所以默认情况其输出与原文本内容一致r:在r操作下,r操作将文本内容读取,并放入sed指定的范围内,并显示,也就是说它显示的也是.原创 2021-09-02 17:57:49 · 593 阅读 · 0 评论 -
echo的-n选项
我们如果使用echo的-n选项并将输出重定向到一个文本文件上面,那么这个输出的尾部会跟上一个换行符,于是在下一条语句重定向到这个文本之后就会因为换行符的关系进行换行。例子1所以比如echo aaaa>>mine ,echo bbbb>>mine,这两条语句的执行结果就是这样的:aaaabbbb例子2但是如果我们使用-n选项,echo -n aaaa>>mine,echo -n bbbb>>mine,那么输出的结果是这样的:aaaab原创 2022-01-26 16:00:59 · 3910 阅读 · 0 评论 -
Linux中的expr工具(获取字符串长度,截取字符串,获取字符串中第一个字符出现的位置)
原创 2022-01-24 16:10:41 · 704 阅读 · 0 评论 -
Shell变量 与 bash配置文件
习惯上我们以.sh作为脚本的文件后缀,脚本的第一句格式#!/bin/bash脚本的执行:bash 脚本路径 :执行该脚本-n :检查语法错误-x:显示执行的命令,相当于”echo on“直接输入脚本的路径:该方式也可以直接执行脚本变量的定义:变量名=变量值$变量:引用变量值,在变量的前面使用美元符号双引号:双引号的内部可以进行变量的引用单引号:单引号的内部的字符串仅仅代表字符串单撇号:tab键上面的符号,其内部一般包括的是命令,主要是在有些情况使用引用原创 2021-08-25 12:33:00 · 595 阅读 · 0 评论 -
linux常用的文本编辑器(tr,uniq,sort,sed,awt)
sort命令文本排序工具sort只影响输出结果,不影响源文件sort以行为单位,以每行的ascii码值得大小进行升序排序。 sort 待排序文件:将文件内的文本内容进行排序,a到z的这种 。-r:倒序排序文本内容-t:该选项一般是和-k选项进行联合使用,-t是选择分隔符,-k是提取第几列,我们可以先用-t将文本内容分割,然后再用-k选项提取被分割的其中一列,然后将被提取的那一列作为排序的材料。-k:提取指定列,与-t搭配使用,若我们指定分隔符,那么可以视为按文本内容的列进行分割。原创 2021-08-27 17:39:46 · 1891 阅读 · 0 评论 -
linux正则表达式与cut命令
正则表达式反斜杆“\”:可以对具有特殊含义的字符进行转义,比如点号“.”字符匹配元字符主要包括:点号".",方括号"[ ]"点号:点号可以代替任意单个字符,相当于通配符中的“?”方括号:其功能与通配符中的方括号一致,[a-z]代表a到z中的任意一个字符,[A-Z]代表A到Z的任意一个字符,[a-zA-Z0-9]代表任意字符,同时还具有使用“!”或者“^”去代表非逻辑,比如[!a-z]代表除了a-z其他的字符。方括号最好于大括号{}一起使用,使用方括号指定字符的类型,使用大括号去指定字符的个数原创 2021-08-26 16:46:35 · 6893 阅读 · 0 评论 -
Linux shell数组
数组的定义格式:数组名=(值1,值2 .....值n)例子:array_name=(v0,v1,v2,v3)这样就创建了一个包含字符串的数组数组单个元素的修改我们还可以单独操纵数组中的元素如:array_name[0]=value1,这样就可以已经创建的数组的第一个元素修改为value1数组元素的读取xxx=${array_name[0]} :这样数组中的第一个元素将会赋值给xxxecho ${array_name[@]} :这样会将数组中的所有元素进行输出.原创 2022-01-24 15:59:28 · 1644 阅读 · 0 评论 -
Shell脚本的数组细节特点
shell中的数组的定义很简单比如:xxx=(1 2 3 4);这样就创建了一个具有四个元素的数组同时数组的类型没有强制的定义,元素与元素之间使用空格进行分隔当我们对数组进行全部的输出的时候可以这样做:echo ${xxx[@]} ,但是这样有一个缺点,就是如果数组中某个元素是空格,那么它是不会显示在屏幕上面的。就比如xxx=( 2 " " 3 )这个数组,我们在屏幕上的最终输出还是2 3 ,而不会是2 3,也就是说这条输出数组全部元素的命令是不会将空格输出出来的。同时我们不必按原创 2022-01-26 16:25:05 · 249 阅读 · 0 评论 -
linux多任务并发执行
比如我们去测试某个网段内部可以ping通的主机,这个时候我们若采用传统的串行执行的方式,利用for循环对每个IP进行ping测试,其结果无疑是很慢的,因为我们需要为每个主机都发送ping包,有的时候主机ping不通的情况下,等待时间比ping通的时间更长。所以可以采用多任务并发的操作,还是上面的例子,因为for循环时需要等待前面一个循环体内部命令执行完毕之后,才能执行下一次的循环体,所以我们可以将循环体内部的命令挂入到后台执行,这样就可以将多个循环体挂入后台执行,实现多任务并发。#!bin/ba原创 2021-08-26 12:06:48 · 1377 阅读 · 0 评论 -
Shell函数
两种函数的定义方式:function 函数名 {command1,2....}函数名 (){command1,2....}函数的调用方式:直接输入函数名即可调用,如定义了一个函数名为error,那么就直接输入error就代表调用了该函数。函数的参数传递若我们的函数内部使用了位置变量,如$1,$2这样的参数,那么我们可以在调用函数时,在其尾部加上参数,那么就可以将参数传入位置变量,如有一个函数名为error,且假设其内部有两个位置变量,名为$1,$2,那么err原创 2021-08-26 12:26:17 · 328 阅读 · 0 评论 -
Shell脚本逻辑与条件判断以及字符串的相关操作
$[ number1 运算符 number2 ]:使用这种格式可以使得两个数字进行算术运算,否则将被视为字符串文件测试操作符[ -d /files ] :测试目标对象是否为目录[ -f /files ] :测试目标对象是否为文件[ -e /files ] :测试目标是否存在[ -r /files ] :测试当前用户是否有可读权限[ -w /files ]:测试当前用户是否有可写权限[ -x /files ]:测试当前用户是否有可执行权限条件比较符[ 条件表达式 .原创 2021-08-25 15:45:11 · 818 阅读 · 0 评论 -
shell的程序结构(循环,case)
read -p “注释”:变量 该语句可以使得在屏幕上输出注释,同时让用户交互的输入数据,并对语句指定的变量进行赋值。if语句if [条件表达式] then command1else command2fi 当我们使用systemctl查看服务的开启状态的时候,若服务开启则变量?的值为0,若服务关闭,则变量?的值不为0.case分支语句case 字符串 in 字符串1) //每个匹配模式的右边都要加上一个”)“ ...原创 2021-08-25 19:23:52 · 262 阅读 · 0 评论