<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weibiaoshen8445的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weibiaoshen8445</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weibiaoshen8445]]></copyright><item><title><![CDATA[Shell脚本之awk用法]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119520143</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119520143</guid><author>weibiaoshen8445</author><pubDate>Sun, 08 Aug 2021 23:20:45 +0800</pubDate><description><![CDATA[一、语法
awk是一种可以处理数据、产生格式化报表的语言，功能十分强大。awk认为文件中的每一行是一条记录，记录与记录的分隔符为换行符，每一列是一个字段，字段与字段的分隔符默认是一个或多个空格或tab制表符。
awk的工作方式是读取数据，将每一行数据视为一条记录（record），每条记录以字段分隔符分成若干字段，然后输出各个字段的值。
awk语法：
awk [options] [BEGIN]{program} [END][file]
常用命令选项：
-F fs：指定描绘一行中数据段的文件分隔符，默认为空格
]]></description><category></category></item><item><title><![CDATA[Postman强化学习]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119492873</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119492873</guid><author>weibiaoshen8445</author><pubDate>Sat, 07 Aug 2021 23:02:25 +0800</pubDate><description><![CDATA[一、Postman内置的动态参数
企业当中做接口测试的时候经常会出现接口不能把参数写死。
时间戳：{{$timestamp}}
生成0-1000的随机数：{{$randomInt}}
生成一个GUID的字符串：{{$guid}}  # 很长的一个字符串

二、Postman之接口关联
将接口的一个请求返回作为全局变量(Tests栏下）

json提取器

//提前access_token的值
var jsValue = JSON.parse(responseBody)
console.log(jsValue]]></description><category></category></item><item><title><![CDATA[面试常见问题记录]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119491640</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119491640</guid><author>weibiaoshen8445</author><pubDate>Sat, 07 Aug 2021 21:10:18 +0800</pubDate><description><![CDATA[1. 什么是http协议？
答：http是超文本传输协议，主要是用于浏览器和服务器之间交互数据，交互有两个部分（请求和响应）。
请求：get，post，put，delete
请求部分包括：请求方式、请求地址、协议
请求头：Accept: application/json（客户端可以接收的数据格式）
X-Requested-With: XMLHttpRequest（异步请求）
User-Agent：PostmanRuntime（客户端的用户）
Host：xxx  ( 请求的主机地址）
Connection：k]]></description><category></category></item><item><title><![CDATA[Shell脚本之sed命令]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119464044</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119464044</guid><author>weibiaoshen8445</author><pubDate>Fri, 06 Aug 2021 23:23:39 +0800</pubDate><description><![CDATA[sed命令
行(流)编辑器，非交互式的对文件内容进行增删改查的操作，使用者只能在命令行输入编辑命令、指定文件名，然后在屏幕上查看输出。它与文本编辑器有本质的区别：
文件编辑器：编辑对象是文件
行编辑器：编辑对象是文件中的行
语法：
sed [options] '{command}[flags]' [filename]

命令选项：
-e script：将脚本中指定的命令添加到处理输入时执行的命令中
           多条件, 一行中要有多个操作
-f script: 将文件中指定的命令添加到处理输入时执]]></description><category></category></item><item><title><![CDATA[Shell脚本之正则表达式]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119444367</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119444367</guid><author>weibiaoshen8445</author><pubDate>Fri, 06 Aug 2021 17:36:56 +0800</pubDate><description><![CDATA[egrep  相当于 grep -E
1. 特殊字符
^ : 锚定开头^a, 以a开头, 默认锚定一个字符
$ ：锚定结尾a$, 以a结尾, 默认锚定一个字符

示例：
egrep "^ac$" file    # 精确匹配以a开头, 以c结尾
egrep "^a" file      # 模糊匹配以a开头
egrep "c$" file      # 模糊匹配以c结尾

2. 匹配符：匹配字符串
.  : 匹配除回车以外的任意一个字符
() : 字符串分组
[] : 定义字符类, 匹配括号中的一个字符
[]]></description><category></category></item><item><title><![CDATA[Shell范例4：nginx启动管理脚本]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119394972</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119394972</guid><author>weibiaoshen8445</author><pubDate>Wed, 04 Aug 2021 23:24:15 +0800</pubDate><description><![CDATA[#!/bin/bash
# nginx service manage script

#variables
proc=nginx
nginx_install_doc=/usr/local/nginx
nginxd=$nginx_install_doc/sbin/nginx
pid_file=$nginx_install_doc/logs/nginx.pid

# Source function library.
if [ -f /etc/init.d/functions ]; then
	. /etc/in]]></description><category></category></item><item><title><![CDATA[Shell脚本之函数]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119360774</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119360774</guid><author>weibiaoshen8445</author><pubDate>Tue, 03 Aug 2021 22:31:53 +0800</pubDate><description><![CDATA[语法一：
函数名(){
	代码块
	return N
}

语法二：
function 函数名{
	代码块
	return N
}

实战
#!/bin/bash
#定义函数
start(){
	echo "Apache start ...    [OK]"
}

stop(){
	echo "Apache stop ...     [FAIL]"
}

#调用函数
stop
start
start

#输出
Apache stop ...     [FAIL]
Apache start ...    [O]]></description><category></category></item><item><title><![CDATA[shell脚本之case用法]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119360125</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119360125</guid><author>weibiaoshen8445</author><pubDate>Tue, 03 Aug 2021 22:12:07 +0800</pubDate><description><![CDATA[case语法：
case 变量 in
条件1)
		执行代码块1
;;
条件2)
		执行代码块2
;;
.....
esac

注: 每个代码块执行完毕要以;;结尾代表结束,case结尾要以倒过来写的esac来结束。

案例：
#!/bin/bash
read -p "num: " n
case $n in
1)
	echo haha
;;
2)
	echo hehe
;;
*)
	echo "1|2"
;;
esac


...]]></description><category></category></item><item><title><![CDATA[shell脚本之until]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119359973</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119359973</guid><author>weibiaoshen8445</author><pubDate>Tue, 03 Aug 2021 21:53:30 +0800</pubDate><description><![CDATA[until介绍： 和while正好相反，until是条件为假开始执行，条件为真停止执行。
语法：
until [ condition ] # 注意,条件为假until才会循环,条件为真,until停止循环
	do
		commands代码块
done

案例：打印10-20
#!/bin/bash
num=10
until [ $num -gt 20 ];do
	echo $num
	num=$((num+1))
done


...]]></description><category></category></item><item><title><![CDATA[Shell脚本之while循环语句]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119279011</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119279011</guid><author>weibiaoshen8445</author><pubDate>Sat, 31 Jul 2021 17:55:36 +0800</pubDate><description><![CDATA[语法
while [ condition ] # 注意: 条件为真，while才会循环，条件为假，while停止循环
	do
		commands
done

while实战
#!/bin/bash
read -p "NUM: " num1
while  [ $num1 -gt 0 ]
	do
		echo "大于"
done


]]></description><category></category></item><item><title><![CDATA[Shell脚本之循环控制]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119278417</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119278417</guid><author>weibiaoshen8445</author><pubDate>Sat, 31 Jul 2021 17:22:33 +0800</pubDate><description><![CDATA[continue：本次循环结束，可以开始下一次循环
#!/bin/bash
for ((i=1;i&lt;10;i++))
	do
		if [ $i -eq 5 ];then
			#本次循环结束，可以开始下一次循环
			continue
		fi
		echo $i
done

break：跳出循环，但继续执行后续代码。如果循环多层嵌套，循环从里往外排序0-N，如果想跳出某层循环，break N
# 要求用户输入一个字母，当输入Q的时候退出
#!/bin/bash
for(( ;; ))
	do
		]]></description><category></category></item><item><title><![CDATA[Shell范例3：监控主机存活的状态]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119278206</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119278206</guid><author>weibiaoshen8445</author><pubDate>Sat, 31 Jul 2021 17:01:02 +0800</pubDate><description><![CDATA[#!/bin/bash
for (( ;; ))
	do
		ping -c1 $1 &amp;&gt;/dev/null
		if [ $? -eq 0 ]
			then
				echo "`date +"%F %H:%M:%S"`: $1 is Up."
		else
			echo "`date +"%F %H:%M:%S"`: $1 is Down."
		fi
		
		#脚本节奏控制, 生产环境建议在1min以上
		sleep 60
done


...]]></description><category></category></item><item><title><![CDATA[Shell脚本之for循环]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119277372</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119277372</guid><author>weibiaoshen8445</author><pubDate>Sat, 31 Jul 2021 16:39:53 +0800</pubDate><description><![CDATA[语法格式
语法一：
for var in value1 value2 ......
	do
		commands
done

示例：
# 循环输出1-9数字
#!/bin/bash
for i in `seq 1 9`
	do
		echo $i
done

语法二：
# C式的for命令
for ((变量; 条件; 自增减运算))
	do
		代码块
done

示例1：
#!/bin/bash
for ((i=1;i&lt;10;i++))
	do
		echo $i
done

示例2：
#!/bin]]></description><category></category></item><item><title><![CDATA[Shell脚本之if语句]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119256464</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119256464</guid><author>weibiaoshen8445</author><pubDate>Fri, 30 Jul 2021 22:31:33 +0800</pubDate><description><![CDATA[语句格式：
语法一：单if语句
if [ condition ]    # condition值为true or false
	then
		commands
fi

语句二：if-then-else语句
if [ condition ]
	then
		commands
else
		command2
fi

示例：
#!/bin/bash
# 登录用户是root 输出管理员，你好
# 登录的是普通用户 输出guest, 你好
if [ $USER == 'root' ]
	then
		echo "管理]]></description><category></category></item><item><title><![CDATA[Shell脚本之数组]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119222749</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119222749</guid><author>weibiaoshen8445</author><pubDate>Thu, 29 Jul 2021 23:25:00 +0800</pubDate><description><![CDATA[基本数据

数组语法
数组名称=(元素1 元素2 元素3)
数组读出
${数组名称[索引]}
数组赋值
方法一：一次赋一个值

array0[0]='tom'

  方法二：一次赋多个值

  array2=(tom jack alice)
  array3=(`cat /etc/password`)


查看数组

declare -a


访问数组元素

echo ${array[0]}     # 访问数组中的第一个元素
echo ${array[@]}     # 访问数组中所有元素，等同于echo]]></description><category></category></item><item><title><![CDATA[Shell脚本之变量]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119191826</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119191826</guid><author>weibiaoshen8445</author><pubDate>Wed, 28 Jul 2021 22:59:28 +0800</pubDate><description><![CDATA[变量分类：

本地变量：用户私有变量，只有本用户可以使用，保存在家目录下的.bash_profile、.bashrc文件中
全局变量：所有用户都可以使用，保持在/etc/profile、/etc/bashrc文件中
用户自己定义变量：用户自定义，比如脚本中的变量

变量定义：
格式：变量名=值（变量名与等号之间不能有空格)
变量命名规则：命名只能使用英文字母、数字和下划线，首个字符不能以数字开头；
中间不能有空格，可以使用下划线（_)；
不能使用标点符号；
不能使用bash里的关键字
读取变量内容:
$变量]]></description><category></category></item><item><title><![CDATA[Shell脚本之read用法]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119191400</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119191400</guid><author>weibiaoshen8445</author><pubDate>Wed, 28 Jul 2021 22:25:01 +0800</pubDate><description><![CDATA[read： 默认接受键盘的输入，回车符代表输入结束
read命令选项：
-p ： 打印信息
-t ： 限定时间
-s ：不回显
-n： 输入字符个数
#!/bin/bash
clear

#echo -n -e "Login: "
#read acc
read -p "Login: " acc
echo -n -e "Password: "
read -s -t5  -n6 pw    #  -s 不回显   -t5 超时5s退出

echo "account: $acc     password: $pw]]></description><category></category></item><item><title><![CDATA[Shell范例2：统计指定单词出现次数]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119008125</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/119008125</guid><author>weibiaoshen8445</author><pubDate>Thu, 22 Jul 2021 20:31:35 +0800</pubDate><description><![CDATA[#!/bin/bash
if [ $# -lt 1]; then
      echo "ERROR: you should input 2 words at least"
      exit -1
fi

FILE=$1
WORDS_NUM=$#-1

for n in $(seq $WORD_NUM)
do
	shift
	sed -e "s/[^a-zA-Z]/\n/g" $FILE | grep -v ^$ | sort | uniq -c | grep "^$1$"
done

# 执行
&gt]]></description><category></category></item><item><title><![CDATA[Shell脚本之shift用法]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/118999850</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/118999850</guid><author>weibiaoshen8445</author><pubDate>Thu, 22 Jul 2021 15:41:39 +0800</pubDate><description><![CDATA[shift：用于对参数的移动（左移），通常用于在不知道传入参数个数的情况下依次遍历每个参数然后进行相应处理
shift（shift 1)命令每执行一次，变量的个数（$#）减一（之前的$1变量被销毁，之后的$2就变成了$1），而变量值提前一位。同理，shift n后，前n位参数都会被销毁，如：输入5个参数（a b c d e），那么$1=a，$2=b，$3=c，$4=d，$5=e，执行shift 3操作后，前3个参数a、b、c被销毁，就剩下了2个参数：d，e（这时d=$1，e=$2，其中d由￥

...]]></description><category></category></item><item><title><![CDATA[Shell脚本之uniq用法]]></title><link>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/118998505</link><guid>https://blog.youkuaiyun.com/weibiaoshen8445/article/details/118998505</guid><author>weibiaoshen8445</author><pubDate>Thu, 22 Jul 2021 14:45:51 +0800</pubDate><description><![CDATA[uniq用于检查文本文件中重复出现的行列，一般与sort命令结合使用
语法：
uniq [-cdu] [-f&lt;栏位&gt;] [-s&lt;字符位置&gt;] [-w&lt;字符位置&gt;] [输入文件] [输出文件]

参数：
-c：在每列旁边显示该行重复出现的次数
-d：仅显示重复出现的行列
-f&lt;栏位&gt;：忽略比较指定的栏位
-s&lt;字符位置&gt;：忽略比较指定的字符
-u：仅显示出一次的行列
-w&lt;字符位置&gt;：指定要比较的字符
[输入文件]：制定已排序好的文本文件]]></description><category></category></item></channel></rss>