linux

位置:IT落伍者 >> linux >> 浏览文章

linux Shell学习笔记最后一节,温故与知新


发布日期:2022年10月07日
 
linux Shell学习笔记最后一节,温故与知新

脚本编写技巧

脚本文件名命名规则

文件名的字符包括

字母数字_ 注意脚本的文件名命名不能以数字开头

脚本文件名的命名尽量使用英文单词词组或短句的缩写

脚本版本管理

脚本作用主版本号修改次数shell类型

变量命名规范

变量名可以由数字和字母组成

变量名采用全部英文字符小写的方式

变量名称尽量使用缩写最好不要超过个字符

${变量名} 例${port}${ipaddr}…

脚本代码注释规范

脚本代码注释可以使用#;(分号)两种方式进行注释#一般由于描述性的注释旨在说明代码的作用或怎么使用

而;通常用于示例性的注释特别是在一些配置文件中常常会用到因此我们沿用这两种方式来对我们的脚本进行注释

引用符号使用规范

尽量少用单引号

对极个特殊字符进行屏蔽特殊含义时使用\(反斜线)进行屏蔽

使用带引号进行屏蔽字符时单引号内一般不适用其他引用符号除非是打印特殊符号本身

使用反引号进行执行一个shell命令时反引号内一般加其他引用符号

脚本函数定义规范

变量名可以由数字和字母组成

使用驼峰命名法(从第二个单词开始每个单词首字母大写)

名字尽量不使用缩写除非它是众所周知的

名字可以有两个或三个单词组成但通常不应多于三个

文本输出排版

第一天课后作业

grep texttxt取出这一天的数据

grep texttxt取出这一个月的数据

grep texttxt | grep v 取出一个月的上涨数据

grep texttxt | grep v | wc l列出有几天是上涨个数带统计

grep texttxt | sort k n | tail 判断上涨然后tail取最后一行

grep texttxt | sort k r |head 判断上涨然后head取第一行

grep texttxt | awk {if($>){print $$}}取出一月中上涨数据时间和上涨幅

grep texttxt | awk {if($> && $<){print $}}判断区间取出整行

脚本代码实例分析

编写一个shell脚本执行脚本后自动ping以下地址

以上IP地址直接写在脚本之中执行完成后

应显示能够ping通的IP地址和不能够ping通的IP地址

#!/bin/bash

if ping c

then

echo online

else

echo offline

fi

if ping c

then

echo online

else

echo offline

脚本代码实例分析

修改分析但是从iplisttxt中读取IP

#!/bin/bash

for ip in `cat iplisttxt`

do

if ping $ip c

then

echo ${ip} online

else

echo ${ip} offline

fi

done

脚本代码实例分析

修改分析去除无用的信息

#!/bin/bash

for ip in `cat iplisttxt`

do

if ping $ip c >/dev/null >&

then

echo ${ip} online

else

echo ${ip} offline

fi

done

脚本代码实例分析

修改分析生成记录

#!/bin/bash

>hoststatustxt

for ip in `cat iplisttxt`

do

if ping $ip c >/dev/null >&

then

echo ${ip} online |tee a hoststatustxt

else

echo ${ip} offline |tee a hoststatustxt

fi

done

脚本代码实例分析

产生一个IP地址池生成个IP并修改分析实现多线程ping

#!/bin/bash

>iplist

for ip in `seq `

do

echo ${ip} >>iplist

done

#!/bin/bash

>hoststatustxt

>temp

fastping()

{

if ping ${} c >/dev/null >&

then

echo ${ip} online |tee a temp

else

echo ${ip} offline |tee a temp

fi

}

for ip in `cat iplisttxt`

do

fastping $ip &

done

wait

sort t k n temp >hoststatustxt

rm temp

temp /pingsh测试一个脚本执行多久

上一篇:UNIX设置MySql数据同步 实现复制功能

下一篇:利用命令进行简单的增量文件夹备份(win/linux)