知识大全 linux Shell学习笔记最后一节,温故与知新
Posted 知
篇首语:知是行的主意,行是知的功夫。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 linux Shell学习笔记最后一节,温故与知新相关的知识,希望对你有一定的参考价值。
linux Shell学习笔记最后一节,温故与知新 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
脚本编写技巧
脚本文件名命名规则
文件名的字符包括
字母 数字 _ 和 注意 脚本的文件名命名不能以数字开头
脚本文件名的命名 尽量使用英文单词 词组或短句的缩写
脚本版本管理
脚本作用 主版本号 修改次数 shell类型
变量命名规范
变量名可以由数字和字母组成
变量名采用全部英文字符小写的方式
变量名称尽量使用缩写 最好不要超过 个字符
$变量名 例 $port $ipaddr…
脚本代码注释规范
脚本代码注释可以使用 # 和 ;(分号) 两种方式进行注释 #一般由于描述性的注释 旨在说明代码的作用或怎么使用
而;通常用于示例性的注释 特别是在一些配置文件中常常会用到 因此我们沿用这两种方式来对我们的脚本进行注释
引用符号使用规范
尽量少用单引号
对极个特殊字符进行屏蔽特殊含义时 使用\\(反斜线)进行屏蔽
使用带引号进行屏蔽字符时 单引号内一般不适用其他引用符号 除非是打印特殊符号本身
使用反引号进行执行一个shell命令时 反引号内一般加其他引用符号
脚本函数定义规范
变量名可以由数字和字母组成
使用驼峰命名法(从第二个单词开始 每个单词首字母大写)
名字尽量不使用缩写 除非它是众所周知的
名字可以有两个或三个单词组成 但通常不应多于三个
文本输出排版
第一天课后作业
grep text txt 取出这一天的数据
grep text txt 取出这一个月的数据
grep text txt | grep v 取出一个月的上涨数据
grep text txt | grep v | wc l 列出有几天是上涨个数 带统计
grep text txt | sort k n | tail 判断上涨 然后tail取最后一行
grep text txt | sort k r |head 判断上涨 然后head取第一行
grep text txt | awk if($ > )print $ $ 取出一月中上涨数据时间和上涨幅
grep text txt | 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
脚本代码实例分析
修改分析 但是从iplist txt中读取IP
#!/bin/bash
for ip in `cat iplist txt`
do
if ping $ip c
then
echo $ip online
else
echo $ip offline
fi
done
脚本代码实例分析
修改分析 去除无用的信息
#!/bin/bash
for ip in `cat iplist txt`
do
if ping $ip c >/dev/null >&
then
echo $ip online
else
echo $ip offline
fi
done
脚本代码实例分析
修改分析 生成记录
#!/bin/bash
>hoststatus txt
for ip in `cat iplist txt`
do
if ping $ip c >/dev/null >&
then
echo $ip online |tee a hoststatus txt
else
echo $ip offline |tee a hoststatus txt
fi
done
脚本代码实例分析
产生一个IP地址池 生成 个IP 并修改分析 实现多线程ping
#!/bin/bash
>iplist
for ip in `seq `
do
echo $ip >>iplist
done
#!/bin/bash
>hoststatus txt
>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 iplist txt`
do
fastping $ip &
done
wait
sort t k n temp >hoststatus txt
rm temp
temp /ping sh 测试一个脚本执行多久
cha138/Article/program/yxkf/201404/30424相关参考