示例一:
#!/bin/bash #Filename: welcome.sh #Welcome user login script #用户登录时候显示欢迎内容,当前用户登录数量; #系统进程数、空余的内存和Swap情况。 USER_NUM=`who | wc -l` PROCESS=`ps aux | wc -l` PROCESS_NUM=`expr $PROCESS - 1` FREE_MEM=`free | grep Mem | awk '{print $4}'` FREE_SWA=`free | grep Swap | awk '{print $4}'` echo "Welcome ${USER} to login to this server !" echo "Now Login Users : $USER_NUM" echo "System Process Num: $PROCESS_NUM" echo "System Free Memory: $FREE_MEM" echo "System Free Swawp : $FREE_SWA"
示例二:
[root@master script]# vim sumint.sh #!/bin/bash #FileName: sumint.sh #让用户输入一个大于1的数值,然后求从1到该数值所有整数的和。 read -p "Please input a number (>1): " Num i=1 Sum=0 while [ $Num -gt $i ] do Sum=`expr $Sum + $i` i=`expr $i + 1` done echo "The sum of 1-$Num is :$Sum "
示例三:
#!/bin/bash #统计目录占用总空间大小,并将备份日期、目录空间大小等信息保存在临时文件"/tmp/dbinfo.txt"中, #然后使用tar命令将dbinfo.txt文件随数据库目录一起备份到"/opt/dbbak/"目录中,备份包文件要求体现当天的日期。 DAY=`date +%Y%m%d` SIZE=`du -sh /var/lib/mysql` echo "Date:$DAY" >> /tmp/dbinfo.txt echo "Data size:$SIZE" >> /tmp/dbinfo.txt tar zcvf /opt/dbbak/mysqlbak-${DAY}.tar.gz /var/lib/mysql /tmp/dbinfo.txt rm -f /tmp/dbinfo.txt
示例四:
#!/bin/bash #FileName:checkfile.sh #对于使用"/bin/bash"作为登录SHELL的用户, #检查他们在"/opt"目录中拥有的子目录或文件数量. DIR="/opt" LMT=100 ValidUsers=`grep "/bin/bash" /etc/passwd | cut -d ":" -f 1` for UserName in $ValidUsers do Num=`find $DIR -user $UserName | wc -l` if [ $Num -gt $LMT ]; then echo "$UserName have $Num files." fi done
示例五:
#!/bin/bash #FileName: batchAddUser.sh #批量添加用户,用户自定义前缀,后缀为数字, #如果小于10,以(01、02。。。)这样的方式添加;大于10,则不用前面加0 #添加个数由用户自定义!初次登录用户必须修改密码。 read -p "Please Input Your Want to add User's prefix Name: " AddName read -p "Please Input Your Want to Add User's Num: " AddNum i=1 while [ $i -le $AddNum ] do if [ $i -lt 10 ]; then username=${AddName}0${i} else username=${AddName}${i} fi #if done; useradd $username #set user's default password echo "123456" | passwd --stdin $username &> /dev/null #one time login, user mast change password! chage -d 0 $username let i++ done #for done; echo "All Ready Add $i User's ."
暂且这五个示例吧,希望对一些新学Shell的朋友有所帮助!
如果脚本中,大家觉得哪里修改下就更好了,请评论告知,多多交流。
转载于:https://blog.51cto.com/opsarno/1434757