
# command是你那条输出的命令,将结果用管道传递给sed,匹配 nn:nn 这样的格式
so easy我记得很久以前还在红联混得时候我写过一个菜单的脚本,就是你这种功能的要求。
我当时是这么干的:
有个printf 这个和C语言里的printf函数的格式符都一样,所以可以用C里面的 \r 或者 \b 来搞
\r光标移到行首
\b 退格
===这两个用哪个都可以,我当时用的是 \r
printf("第一句")
printf("\r") 回到行首
printf("\r")无数个空格后回到行首
printf("第二句")
当然 ,那两个可以合并 printf("\r \r")
比较是什么意思?是比较是否相同,对吧变量a怎么会有很多行呢,如果是文件中很多行还好理解,我假设你是个文件吧,比如是a.txt
并且每行中没有空格才行。你要比较的值是100,假如是100哈,其它字符串也可以。
我先写了一个shell,你说清楚了再改。
#!/bin/bash
###################################
#author Zhao Yanan
#date 2013/03/22
#function String comparison
###################################
############# ENV #######################################
export LANG=C
export LC_ALL=C
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
############# DO #######################################
for a in `cat a.txt`
do
if [ "$a" == "100" ]then
echo $a
fi
done
a赋值改为
a=`df -h | awk '{print $5}' | grep -v 'Use%'`
你不能把use%也带变量中去吧
echo $a实际上只有一行了,所以我的脚本可以改为:
#!/bin/bash
###################################
#author Zhao Yanan
#date 2013/03/22
#function String comparison
###################################
############# ENV #######################################
export LANG=C
export LC_ALL=C
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
############# DO #######################################
function mailto() {
/usr/sbin/sendmail -t <<EOF
From: $mailfromadd
To: $mailtoadd
Cc: $mailccadd
Subject: disk
----------------------------------
disk!
----------------------------------
EOF
}
a=`df -h | awk '{print $5}' | grep -v 'Use%'`
for i in $a
do
if [ "$i" -ge "60" ]then
mailto
else
echo $i
fi
done
其中mailto你要写入程序放前面,我帮你写上了,注意邮件地址变量替换
哦,我忘记百分号的处理了,你再按你的方法修改下好了
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)