轻松学会shell常用参数

Posted Friends of the wind

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了轻松学会shell常用参数相关的知识,希望对你有一定的参考价值。

基础

1、-xv 调试 bash 脚本

1)创建测试文件
touch /var/log/env
不加试试:

-x:

-v:显示详情

2、两个整数相加

#!/bin/bash
A=1
B=2
expr $A + $B#!/bin/bash
A=1
B=2

awk 'BEGINprint '"$A"' + '"$B"''#!/bin/bash
A=1
B=2

echo $A+$B | bc

进阶

3、如何打印传递给脚本的参数


执行:

4、定义属组及调用数组

#!/bin/bash
Number=("name" "zhaosi" "man")

echo $Number[2]


5、每种类型日志的个数

Apache
2020-02-03 11:03:23 WARN My warning message repeated 3 times
2020-02-03 11:03:23 ERR oops, error message repeated 8 times
2020-02-03 11:03:26 ERR this is my error message repeated 1 times
2020-02-03 11:03:26 WARN MY warning , so scary, repeated 1 times
2020-02-03 11:03:26 WARN cpu utilization high, repeated 1 times
2020-02-03 11:03:29 INFO this is for test repeated 2 times

思路:
先过滤出需要的参数,然后相加

#!/bin/bash
#defined variable
W=`grep "WARN" apache.log |cut -d ' ' -f 3 | uniq -c |awk 'print $1'`
E=`grep "ERR" apache.log |cut -d ' ' -f 3 | uniq -c |awk 'print $1'`
I=`grep "INFO" apache.log |cut -d ' ' -f 3 | uniq -c |awk 'print $1'`

#The results are displayed on the screen.
echo "WARN:$W"
echo "ERR:$E"
echo "INFO:$I"

求过滤结果的合

#!/bin/bash
W=`awk '/WARN/print $(NF-1)' apache.log |awk 'sum+=$1 END print sum'`
E=`awk '/ERR/print $(NF-1)' apache.log |awk 'sum+=$1 END print sum'`
I=`awk '/INFO/print $(NF-1)' apache.log |awk 'sum+=$1 END print sum'`

echo "WARN:$W"
echo "ERR:$E"
echo "INFO:$I"


以上是关于轻松学会shell常用参数的主要内容,如果未能解决你的问题,请参考以下文章

css常用代码片段 (更新中)

IOS开发-OC学习-常用功能代码片段整理

nodejs常用代码片段

常用python日期日志获取内容循环的代码片段

重磅知识!女朋友都能学会!shell常用监控脚本及排错

Linux常用shell脚本