快速业务通道

Shell常用语句应用示例

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-31
t $LMT ] ; then 拥有帝国一切,皆有可能。欢迎访问phome.net
echo "$UserName have $Num files."
fi
done


例 8.20 计算“/etc”目录中所有“*.conf”形式的配置文件所占用的总空间大小.
[root@linuxserver ~]# vi confsize.sh

#!/bin/bash
SizeNums=$(ls -l $(find /etc -type -f -a -name *.conf) | awk ''{print $5}'') //提取各文件的大小值
Total=0

for i in $SizeNums
do
Total=`expr $Total $i` //计算每个文件的大小之和
done
echo "Total size of conf files: $Total bytes."

while语句应用示例

例 8.21 由用户从键盘输入一个大于1的整数(如50),并计算从1到该数之间各整数的和.
[root@linuxserver ~]# vi sumint.sh

#!/bin/bash
read -p "Input a number (>1):" UP
i=1
Sum=0
while [ $i -le $UP ]
do
Sum=`expr $Sum $i`
i=`expr $i 1`
done
echo "The sum of 1-$UP is : $Sum"

例 8.22 批量添加20个系统用户账号,用户名依次为“stu1”、“stu2”、“stu3”、..............、“stu20”,各用户的初始密码均为“123456”.
[root@linuxserver ~]# vi add20users.sh

#!/bin/bash
i=1
while [ $i -le 20 ]
do
useradd stu$i
echo "123456" |passwd --stdin stu$i & > /dev/null //为用户账号设置初始密码
i=`expr $i 1` //将变量i递增1的操作可改用“let i ”的简略用法
done

例 8.23 编写一个批量删除用户的脚本程序,将上例中添加的20个用户删除.
[root@linuxserver ~]# vi del20users.sh

#!/bin/bash
i=1
while [ $i -le 20 ]
do
userdel -r stu$i
i=`expr $i 1`
done

拥有帝国一切,皆有可能。欢迎访问phome.net


其他控制语句

case语句应用示列:


例 8.24 由用户从键盘输入一个字符,并判断该字符是否为字母、数字或者其他字符,并输出相应的提示信息.
[root@linuxserver ~]# vi hitkey.sh

#!/bin/bash
read -p "Press some key, then press Return:" KEY
case "$KEY" in
[a-z]|[A-Z])
echo "It''s a letter."
;;
[0-9])
echo "It''s a digit."
;;
*)
echo "It''s function keys、Spacebar or other keys."
esac

until循环语句应用示例

例 8.25 批量删除用户的脚本程序
[root@linuxserver ~]# vi del20users.sh

#!/bin/bash
i=1
until [ $i -gt 20 ]
do
userdel -r stu$i
i=`expr $i 1`
done

shift语句应用示例

例 8.26 编写一个Shell程序,计算多个整数值得和,需要计算的各个数值由用户在执行脚本时作为命令行参数给出.
[root@linuxserver ~]# vi sumer.sh

#!/bin/bash
Result=0
while [ $# -gt 0 ]
do
Result=`expr $Result $1`
shift
done
echo "The sum is : $Result"


break语句应用示例

例 8.27 循环提示用户输入字符串,并将每次输入的内容保存到临时文件“/tmp/input.txt”中,当用户输入“END”字符串时退出循环体,并统计出input.txt文件中的行数、单词数、
字节数等信息,统计完后删除临时文件.
[root@linuxserver ~]# vi inputbrk.sh

#!/bin/bash
while true
do
read -p "Input a string:" STR
echo $STR >> /tmp/input.txt
if [ "$STR" = "END" ] ; then //建议为STR变量使用引号,以

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号