`
icyheart
  • 浏览: 779376 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

shell脚本实例

阅读更多

1. 写一个脚本,利用循环计算10的阶乘

#!/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"

2. 写一个脚本,执行后,打印一行提示“Please input a number:",要求用户输入数值,然
后打印出该数值,然后再次要求用户输入数值。直到用户输入 "end"停止。

#!/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

 

 

5.写一个脚本,可以根据参数文件名,以正确的参数调用tar来解压缩tar.gz或tar.bz2文件。

#!/bin/sh

 

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

      bz2)

          tar jxvf $1

          ;;

      gz)

          tar zxvf $1

          ;;

      *)

          echo "wrong file type"

esac

 

6.写一个脚本以方便用户查询rpm的相关信息。这个脚本首先提示用户选择查询依据,比如
文件名,包名,全部等。然后提示用户选择查询信息,比如包名,包里所包含的所有文件,
包的信息等。然后询问是否继续查询,是则循环刚才的过
程,否则退出。

#!/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

4
1
分享到:
评论
4 楼 javaersu 2013-11-17  
几个学习Shell的不错网站:
shell为您提供了对UNIX系统的接口。向你收集的输入,并根据输入执行程序。当一个程序执行完毕后,它会显示该程序的输出。

shell是一个环境,我们可以运行我们的命令,程序和shell脚本。shell有不同的风格,就像有不同风格的操作系统。每个的shell的风格,有它自己的一套识别的命令和功能。
shell它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。

几个学习Shell编程的网站推荐:

Ubuntu社区:http://wiki.ubuntu.org.cn/Shell%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80
Shell教程 http://www.yiibai.com/shell/
Chinaunix: http://bbs.chinaunix.net/forum-24-1.html
3 楼 chendexin2012 2012-08-09  
             
2 楼 chendexin2012 2012-08-09  
1 楼 chendexin2012 2012-08-09  
[/color][color=black][size=xx-small][/size][align=left][/align]
[flash=200,200][/flash][/url][url][img][/img]

相关推荐

    shell 脚本 实例 shell 脚本 实例

    在"参考shell脚本实例"中,我们可以期待看到各种实际应用的示例,这些示例可能涵盖如下内容: 1. **文件和目录操作**:包括创建、删除、复制、移动文件和目录,如`touch`, `rm`, `cp`, `mv`等命令。 2. **文本处理*...

    23 个非常实用的 Shell 脚本实例.doc

    Shell 脚本实例集锦 Shell 脚本是一种强大的工具,能够帮助程序员和系统管理员自动完成枯燥的工作,提高工作效率。以下是 23 个非常实用的 Shell 脚本实例,展示了 Shell 脚本编程的实用技术和常见工具用法。 一、...

    Linux学习资料及shell脚本实例

    这份“Linux学习资料及shell脚本实例”涵盖了Linux的基础知识和实用技巧,旨在帮助初学者快速入门并深入理解Linux系统。 首先,Linux是一个开源的操作系统,它的内核由林纳斯·托瓦兹开发,全球各地的开发者共同...

    输出执行操作和打印日志的shell脚本实例

    cat /mnt/log_function.sh #!/bin/bash #log function ####log_correct函数打印正确的输出到日志文件 function log_correct () { DATE=`date “+%Y-%m-%d %H:%M:%S”` ####显示打印日志的时间...log_error打印shell脚本

    最全最基础的shell脚本实例教程

    ### 最全最基础的Shell脚本实例教程 #### 1. Shell命令行的运行与书写规则 Shell命令行是Linux用户与操作系统交互的主要方式之一。理解Shell命令行的基本规则对于编写高质量的Shell脚本至关重要。 - **命令行的...

    项目启动、重启、关闭shell脚本实例

    项目启动、重启、关闭shell脚本实例。用于研发人员打包操作

    109个shell脚本合集.pdf

    Shell脚本合集 Shell脚本是一种脚本语言,利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能。 Shell脚本可以直接使用在Windows、Unix、Linux上面,并且可以调用大量系统内部的功能来解释...

    LinuxShell脚本编程实例.doc

    Linux Shell脚本编程实例 Linux Shell脚本编程实例是指使用Linux操作系统的Shell来编写脚本程序,实现自动化任务、批处理和system administration等功能。本文将通过实例讲解Linux Shell脚本编程的基本概念、语法和...

    精心整理shell脚本100例(最新版).pdf

    精心整理shell脚本100例(最新版).pdf

    250个shell脚本

    本文档收集了250个实用的Shell脚本实例,涵盖了多个应用场景,包括系统管理、安全防护、数据库备份等核心知识点。 1. Dos攻击防范:通过监控Nginx的日志文件,检测到异常频繁的IP访问后,脚本会自动使用iptables...

    109个shell脚本合计

    本文档汇总了109个实用的Shell脚本实例,涵盖了多个应用场景,包括系统管理、网络监控、数据库备份等。下面将详细讨论其中几个关键脚本。 1. Dos攻击防范(自动屏蔽攻击IP): 这个脚本通过分析Nginx的访问日志...

    Shell 脚本实例分析(cookie_log 解析)

    Shell脚本是Linux或Unix操作系统中的一个强大的工具,它允许用户通过命令行接口自动化执行一系列操作。在这个实例中,我们关注的是"cookie_log"的解析,这通常涉及到从日志文件中提取特定信息,比如用户的Cookie数据...

    shell脚本100例.pdf

    本书《shell脚本100例》通过实例教学的方式,向读者展示了如何编写Linux下的shell脚本,以此来提高对Linux系统自动化和系统功能的运用能力。本书不仅适合于初学者熟悉Linux操作系统的自动化使用,同时也适用于有一定...

    linux shell 脚本入门

    - 文档可能包含简单的脚本实例,如创建目录、备份文件、搜索文本等。 - 实践是学习Shell脚本的关键,通过解决实际问题加深理解。 通过"shell-script-entry.pdf"的学习,读者可以掌握Shell脚本的基本概念,为...

    超详细的5个Shell脚本实例分享(值得收藏)

    本文将详细介绍5个实用的Shell脚本实例,这些实例可以帮助你理解和应用Shell脚本解决实际问题。 1. **定时清空文件内容,定时记录文件大小** 这个脚本每小时执行一次,检查当前时间是否为0点或12点。如果是,它会...

    LinuxShell脚本编程实例

    Linux Shell脚本编程实例 Linux Shell脚本编程实例是指使用Linux Shell编程语言编写的脚本程序,用于自动化系统管理、数据处理、网络管理等任务。Shell脚本语言是Linux操作系统的命令解释器,它可以读取用户的命令...

    ssh远程执行命令方法和Shell脚本实例

    ### SSH远程执行命令方法与Shell脚本实例 SSH(Secure Shell)是一种网络协议,用于计算机之间的加密登录。本文将深入探讨如何使用SSH进行远程命令执行,并通过具体的Shell脚本示例来帮助读者更好地理解和掌握这一...

Global site tag (gtag.js) - Google Analytics