脚本编写技巧
脚本文件名命名规则
文件名的字符包括
字母、数字、"."、"_"和"-", 注意:脚本的文件名命名不能以数字开头。
脚本文件名的命名,尽量使用英文单词、词组或短句的缩写。
脚本版本管理:
脚本作用.主版本号.修改次数.shell类型
变量命名规范
变量名可以由数字和字母组成
变量名采用全部英文字符小写的方式
变量名称尽量使用缩写,最好不要超过6个字符
${变量名} 例:${port},${ipaddr}…
脚本代码注释规范
脚本代码注释可以使用"#"和";(分号)"两种方式进行注释。#一般由于描述性的注释,旨在说明代码的作用或怎么使用。
而;通常用于示例性的注释,特别是在一些配置文件中常常会用到,因此我们沿用这两种方式来对我们的脚本进行注释。
引用符号使用规范
尽量少用单引号
对极个特殊字符进行屏蔽特殊含义时,使用\(反斜线)进行屏蔽
使用带引号进行屏蔽字符时,单引号内一般不适用其他引用符号,除非是打印特殊符号本身。
使用反引号进行执行一个shell命令时,反引号内一般加其他引用符号。
脚本函数定义规范
变量名可以由数字和字母组成
使用驼峰命名法(从第二个单词开始,每个单词首字母大写)
名字尽量不使用缩写,除非它是众所周知的
名字可以有两个或三个单词组成,但通常不应多于三个
文本输出排版第一天课后作业
1、grep "20081011" text.txt 取出这一天的数据
2、grep "200804" text.txt 取出这一个月的数据
3、grep "200806" text.txt | grep -v "-" 取出一个月的上涨数据
4、grep "200807" text.txt | grep -v "-" | wc -l 列出有几天是上涨个数,带统计
5、grep "200808" text.txt | sort -k5 -n | tail -1 判断上涨,然后tail取最后一行
grep "200808" text.txt | sort -k5 -r |head -1 判断上涨,然后head取第一行
6、grep "200810" text.txt | awk '{if($4>0){print $1,$5}}' 取出一月中上涨数据时间和上涨幅
7、grep "200811" text.txt | awk '{if($4>5 && $4<20){print $0}}' 判断区间取出整行
脚本代码实例分析1
编写一个shell脚本,执行脚本后自动ping以下地址:
192.168.1.1,192.168.1.31
以上IP地址直接写在脚本之中。执行完成后,
应显示能够ping通的IP地址和不能够ping通的IP地址
#!/bin/bash
if ping 192.168.1.1 -c 1
then
echo "192.168.1.1 online"
else
echo "192.168.1.1 offline"
fi
if ping 192.168.1.31 -c 1
then
echo "192.168.1.31 online"
else
echo "192.168.1.31 offline"
fi
脚本代码实例分析2
修改分析1,但是从iplist.txt中读取IP
#!/bin/bash
for ip in `cat iplist.txt`
do
if ping $ip -c 1
then
echo "${ip} online"
else
echo "${ip} offline"
fi
done
脚本代码实例分析3
修改分析2,去除无用的信息
#!/bin/bash
for ip in `cat iplist.txt`
do
if ping $ip -c 1 >/dev/null 2>&1
then
echo "${ip} online"
else
echo "${ip} offline"
fi
done
脚本代码实例分析4
修改分析3,生成记录
#!/bin/bash
>hoststatus.txt
for ip in `cat iplist.txt`
do
if ping $ip -c 1 >/dev/null 2>&1
then
echo "${ip} online" |tee -a hoststatus.txt
else
echo "${ip} offline" |tee -a hoststatus.txt
fi
done
脚本代码实例分析5
产生一个IP地址池,生成255个IP,并修改分析4,实现多线程ping
#!/bin/bash
>iplist
for ip in `seq 1 255`
do
echo "192.168.1.${ip}" iplist
done
#!/bin/bash
>hoststatus.txt
>temp
fastping()
{
if ping ${1} -c 1 >/dev/null 2>&1
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. -k4 -n temp >hoststatus.txt
rm temp
temp ./ping.sh 测试一个脚本执行多久
linux,Shell,学习笔记
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]