您的位置:首页 > 运维架构 > Shell

shell基础练习<二>

2011-08-12 09:57 387 查看
1、菜单提示

#!/bin/bash

#2011/07/10 by larry

PS3="please select a command to excute:"

select CH in date pwd ls exit

do

case $CH in

date)

date

;;

pwd)

pwd

;;

ls)

ls

;;

exit)

exit

;;

*)

echo "Invalid argument!";exit

;;

esac

done

2、复杂性要求随机生成字符:

#!/bin/bash

a=(0 1 2 3 4 5 6 7 8 9 a b c d e A B C D E F @ $ % ^)

for ((i=0;i<8;i++));do

echo -n ${a[$RANDOM % ${#a[*]}]}

done

echo

3、检查用户磁盘使用情况,并发邮件通知相应人员。

#!/bin/bash

#2011/07/17 by larry

#unit (M)

##############user###############

cat disk.list | while read line

do

total=`echo $line|awk '{ print $4}'`

quota=`echo $line |awk '{ print $3}'`

user=`echo $line |awk '{ print $1}'`

mail=`echo $line|awk '{ print $2}'`

home=`awk -F":" '$1==u { print $6}' u=$user /etc/passwd`

used=`du -sm $home |awk '{print $1}'`

keyong=`expr $total - $used`

if [ $used -ge $quota ];then

echo "The total amount of your space is $quota and your used space is $used" > /tmp/$user_email.txt

echo "you also use $keyong M " >> /tmp/$user_email.txt

echo "you can use 'find -size +5M -exec rm -f {} \;' to find big file and rm them." >> /tmp/$user_email.txt

mail -s "your space is fast full." -c root $mail < /tmp/$user_email.txt

else echo "$user :No problem"

fi

done
本文出自 “Larry学习之路” 博客,请务必保留此出处http://5iqiong.blog.51cto.com/2999926/637283
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: