shell脚本实例

简介:
 
   
#!/bin/sh    
factorial=1     
for a in `seq 1 10` 
do    
                factorial=`expr $factorial \* $a`    

done    
echo "10! = $factorial"    

注:上面有一行,for a in `seq 1 10`,其中seq 1 10 , 即列出现1到10之间所有的数字,这一行也可改为:for a in "1 2 3 4 5 6 7 8 9 10"

#!/bin/sh    

     

unset var    

     

while [     "$var" != "end" ]    

do    

            echo -n "please input a number: "    

            read var    

            if [ "$var" = "end" ]    

            then    

                    break    

            fi    

            echo "var is $var"    

done 
 
 
3. 写一个脚本,利用循环和continue关键字,计算100以内能被3整除的数之和
#!/bin/sh    

     

sum=0    

for a in `seq 1 100`    

do    

            if [ `expr $a % 3` -ne 0 ]    

            then    

                        continue    

            fi    

            echo $a    

            sum=`expr $sum + $a`    

done    

     

echo "sum = $sum" 
 
 
4.一个函数,利用shift计算所有参数乘积,假设参数均为整数( 特殊变量$# 表示包含参数的个数 )
#! /bin/sh    

     

result=1    

while [ $# -gt 0 ]    

do    

            result=`expr $result \* $1`    

            shift    

done    

echo $result    
 
 
 
    
   
#!/bin/sh    

     

case ${1##*.tar.} in    

            bz2)    

                    tar jxvf $1    

                    ;;    

            gz)    

                    tar zxvf $1    

                    ;;    

            *)    

                    echo "wrong file type"    

esac 
 
 
 
   
#!/bin/sh    

RPM=/bin/rpm    

option="-q"    

    

while true    

do    

                echo "what to query?"    

                select var in     "All" "file" "package name"    

                do    

                             case $var in    

                             All)    

                                             option=$option"a"    

                                             break    

                                            ;;    

                             file)    

                                             echo -n "please input file name: "    

                                             option=$option"f"    

                                             read argument    

                                             break    

                                            ;;    

                                package\ name)    

                                             echo -n "please input package name: "    

                                             read argument    

                                             break    

                                            ;;    

                             *)    

                                             echo "please choose between 1-3"    

                                            ;;    

                             esac    

                done    

    

                echo "what do you want to know?"    

                select var in "location" "info" "package name"    

                do    

                             case $var in    

                                location)    

                                             option=$option"l"    

                                             break    

                                            ;;    

                             info)    

                                             option=$option"i"    

                                             break    

                                            ;;    

                                package\ name)    

                                             break    

                                            ;;    

                             *)    

                                             echo "please choose between 1-3"    

                                            ;;    

                             esac    

                done    

    

                ${RPM}     $option $argument    

    

                echo "continue? [yes/no]"    

                read answer    

    

                if [ answer = "no" ]    

                then    

                             break    

                fi    

done    
本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/354461,如需转载请自行联系原作者
相关文章
|
25天前
|
弹性计算 Shell Perl
ecs服务器shell常用脚本练习(二)
【4月更文挑战第1天】shell代码训练(二)
106 1
|
28天前
|
Java Shell
SpringBoot启动脚本Shell
SpringBoot启动脚本Shell
18 0
|
5天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
31 3
|
2天前
|
监控 Shell 应用服务中间件
第十二章 Shell脚本编写及常见面试题(二)
第十二章 Shell脚本编写及常见面试题(二)
|
2天前
|
监控 关系型数据库 Shell
第十二章 Shell脚本编写及常见面试题(一)
第十二章 Shell脚本编写及常见面试题(一)
|
2天前
|
监控 Shell
生产环境Shell脚本Ping监控主机是否存活(多种方法)
生产环境Shell脚本Ping监控主机是否存活(多种方法)
|
2天前
|
运维 Shell
Shell脚本判断IP是否合法性(多种方法)
Shell脚本判断IP是否合法性(多种方法)
|
8天前
|
运维 监控 Shell
利用Shell脚本编写局域网监控软件:实时监测主机连接情况
本文介绍了如何使用Shell脚本创建一个局域网监控工具,以实时检查主机连接状态。脚本包括扫描IP地址范围检测主机可达性及使用`netstat`监控ESTABLISHED连接。此外,还展示了如何每60秒将连接数数据自动提交到指定网站API,以便实时跟踪网络活动。这个自动化监控系统有助于提升网络安全性和故障排查效率。
32 0
|
9天前
|
Shell
Shell脚本之流程控制语句
Shell脚本之流程控制语句
|
10天前
|
JSON 运维 监控
训练shell常用脚本练习(三)
【4月更文挑战第14天】shell代码训练(三)
32 1