随笔分类 - 测试高级进阶 - Shell
摘要:dirname作用 dirname实际工作中常常是跟$0一起使用 用于获取当前运行脚本的绝对路径 这个命令要放在shell脚本中使用,在命令行使用意义不大 [yutao@master01 ~]$ dirname --help 用法:dirname 名称 或:dirname 选项 输出已经去除了尾部的
阅读全文
摘要:引言 在Linux平台上工作,我们经常需要使用shell来编写一些有用、有意义的脚本程序。有时,会经常使用shell数组。那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解,shell中的数组。 数组的定义 何为数组?学过计算机编程语言的同学都知道,数组的特性就是一组数据
阅读全文
摘要:while循环 只要条件判断式成立则进行循环,并执行循环程序;一旦循环条件不成立,则终止循环 格式 while [ 条件判断式 ] do 程序 done 例子 需求:计算工具,1+2+……100的和 脚本: #!/bin/bash #从1加到100 s=o i=1 while [ $i -le 10
阅读全文
摘要:for循环语法二 for ((初始值;循环控制条件;变量变化)) do 程序 done 例子 例子-1 求和工具 需求:根据用户输入的数字,求1~输入所有数字的和 脚本: #!/bin/bash read -t 30 -p "输入终点数字:" num sum=o for (( i=1;i<=$num
阅读全文
摘要:for循环语法一 for 变量 in 值1 值2 值3 … do 程序 done 例子 需求:批量解压缩 脚本: #!/bin/bash cd /root/publicls *.tar.gz > public.logls *.tar.bz >> public.log for i in $(cat p
阅读全文
摘要:多分支case条件语句 概念 case语句和if...elif...else语句一样都是多分支条件语句,不过和if多分支条件语句不同的是,case语句只能判断一种条件关系,而if语句可以判断多种条件关系。 case适用列表,选项型判断,执行速度比if更快 格式 case $变量名 in “值1”)
阅读全文
摘要:多分支if条件语句 if [ 条件判断式1 ] then 当条件判断式1成立时,执行程序1 elif [ 条件判断式2 ] then 当条件判断式2成立时,执行程序2 ...省略更多条件... else 当所有条件都不成立时,最后执行此程序 fi exit 自定义错误码:返回错误码,程序退出不再运行
阅读全文
摘要:#!/bin/bash #截取httped进程,并把结果赋予变量test test=$(ps -aux | grep "httpd" | grep -v "grep") #如果test的值不为空,则执行then中命令 if [ -n $"test" ] then echo "$(date) http
阅读全文
摘要:双分支if条件语句 if [ 条件判断式 ] then 条件成立,执行的程序 else 条件不成立,执行的程序 fi 需求 根据用户输入的目录名,判断是否存在 脚本: #!/bin/bash #使用read命令接收用户输入参数 read -t 30 -p "请输入目录名称:" dir #[ -d 文
阅读全文
摘要:需求 监控分区已用空间,超过80%,抛出警告 脚本 #!/bin/bash #给tets赋值用于接收参数,传递给if进行判断 #申明变量test并赋值,由于赋的值是系统变量的结果,所以得用$()引用 test=$(df -h | grep "sda1" | awk '{print $5}' | cu
阅读全文
摘要:单分支if条件语句 if [ 条件判断 ] ;then 程序 fi 或者 if [ 条件判断 ] then 程序 fi 注意点 if语句使用fi结尾,和一般语言使用大括号结尾不同 【 条件判断 】就是使用test命令判断,所以中括号和条件判断之间必须有空格 then后面跟符合条件之后执行的程序,可以
阅读全文
摘要:字符串判断 $变量时要用双引号引起来,即"$变量" 测试选项 作用 -z 字符串 判断字符串是否为空(为空返回真) -n 字符串 判断字符串是否为非空(非空返回真) 字符串1 == 字符串2 判断字符串1和字符串2是否相等(相等返回真) 字符串1 != 字符串2 判断字符串1是否字符串2不相等(不相
阅读全文
摘要:两个整数之间比较 Liunx中,都是字符型,但是加了数值比较的选项,所以自动将他们转换成了整数型进行比较,不需要对这些参数进行变量转换或者重新声明 测试选项 作用 整数1 -eq 整数2 判断整数1是否和整数2相等(相等为真) 整数1 -ne 整数2 判断整数1是否和整数2不相等(不相等为真) 整数
阅读全文
摘要:两个文件之间进行比较 测试选项 作用 文件1 -net 文件2 判断文件1的修改时间是否比文件2的新(如果新则为真) 文件1 -ot 文件2 判断文件1的修改时间是否比文件2的旧(如果旧则为真) 文件1 -ef 文件2 判断文件1是否和文件2的Inode(即i节点号)号是否一致,可以理解为两个文件是
阅读全文
摘要:按照文件权限进行判断 读、写、执行等选项权限,只要有,就返回真 不会按照所属者,所属用户组,其他用户进行区分 先判断文件是否存在,再去判断选项权限 测试选项 作用(标红熟记) -r 文件 判断该文件是否存在,并且是否该文件拥有读权限(有读权限为真) -w 文件 判断该文件是否存在,并且是否该文件拥有
阅读全文
摘要:按照文件类型进行判断 标红,记住;其他了解即可 测试选项 作用 -b 文件 判断该文件是否存在,并且是否为块设备文件(是块设备文件为真) -c 文件 判断该文件是否存在,并且是否为字符设备文件(是字符设备文件为真) -d 文件 判断该文件是否存在,并且是否为目录文件(是目录为真) -e 文件 判断该
阅读全文
摘要:简述 字符替换命令sed 和vi功能相似,但是vi是给用户用的,sed是给脚本用的 sed是一种几乎包括在所有的UNIX平台(包括Linux)的轻量级流编辑器。s sed主要是用来将数据进行选取、替换、删除、新增的命令。 可以和管道符配合使用 格式 命令 sed [选项] '[动作]' [文件名]
阅读全文
摘要:简介 awk是一个数据处理工具,相比于sed常常作用于一整行的处理,awk则比较倾向于将一行分成数个”字段“来处理 awk的流程是依次读取每一行数据,读取完一行数据后,进行条件判断,如果满足条件,就执行该条件对应的动作,没有条件直接执行动作 其中文件名为$0,剩下的每一列依次为$1\$2...,判断
阅读全文
摘要:作用 printf是标准格式输出命令,控制输出格式,不会自动加入换行符。awk会用到该条命令 命令 printf '输出类型输出格式' 输出内容 #‘’双引号不能少,输出类型和输出格式之间没有空格 输出类型 %ns:输出字符串。n是数字,指代输出几个字符 %ni:输出整数。n是数字,指代输出几个数字
阅读全文
摘要:前言 grep是按行提取;cut默认是通过制表符,按列提取,不能识别用空格作为分隔符 语法 cut 【选项】 【文件】 选项 -f :列号,截取哪几列数据,多个列号用逗号隔开;列与列之间默认用TAB制表符分隔; -d :分隔符:按照指定分隔符分割列,默认为tab; #cut -f 1,3 -d ":
阅读全文