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

Linux shell脚本全面学习3

阅读更多
2.case
  case :表达式可以用来匹配一个给定的字符串,而不是数字。
  case ... in
  ...) do something here ;;
  esac
  让我们看一个例子。 file命令可以辨别出一个给定文件的文件类型,比如:
  file lf.gz
  这将返回:
  lf.gz: gzip compressed data, deflated, original filename,
  last modified: Mon Aug 27 23:09:18 2001, os: Unix
  我们利用这一点写了一个叫做smartzip的脚本,该脚本可以自动解压bzip2, gzip 和zip 类型的压缩文件:
  #!/bin/sh
  ftype=`file "$1"`
  case "$ftype" in
  "$1: Zip archive"*)
  unzip "$1" ;;
  "$1: gzip compressed"*)
  gunzip "$1" ;;
  "$1: bzip2 compressed"*)
  bunzip2 "$1" ;;
  *) echo "File $1 can not be uncompressed with smartzip";;
  esac
  您可能注意到我们在这里使用了一个特殊的变量$1。该变量包含了传递给该程序的第一个参数值。
  也就是说,当我们运行:
  smartzip articles.zip
  $1 就是字符串 articles.zip
  3. selsect
  select 表达式是一种bash的扩展应用,尤其擅长于交互式使用。用户可以从一组不同的值中进行选择。
  select var in ... ; do
  break
  done
  .... now $var can be used ....
  下面是一个例子:
  #!/bin/sh
  echo "What is your favourite OS?"
  select var in "Linux" "Gnu Hurd" "Free BSD" "Other"; do
  break
  done
  echo "You have selected $var"
  下面是该脚本运行的结果:
  What is your favourite OS?
  1) Linux
  2) Gnu Hurd
  3) Free BSD
  4) Other
  #? 1
  You have selected Linux
  4.loop
  loop表达式:
  while ...; do
  ....
  done
  while-loop 将运行直到表达式测试为真。will run while the expression that we test for is true.
  关键字"break" 用来跳出循环。而关键字”continue”用来不执行余下的部分而直接跳到下一个循环。
  for-loop表达式查看一个字符串列表 (字符串用空格分隔) 然后将其赋给一个变量:
  for var in ....; do
  ....
  done
  在下面的例子中,将分别打印ABC到屏幕上:
  #!/bin/sh
  for var in A B C ; do
  echo "var is $var"
  done
  下面是一个更为有用的脚本showrpm,其功能是打印一些RPM包的统计信息:
  #!/bin/sh
  # list a content summary of a number of RPM packages
  # USAGE: showrpm rpmfile1 rpmfile2 ...
  # EXAMPLE: showrpm /cdrom/RedHat/RPMS/*.rpm
  for rpmpackage in $*; do
  if [ -r "$rpmpackage" ];then
  echo "=============== $rpmpackage =============="
  rpm -qi -p $rpmpackage
  else
  echo "ERROR: cannot read file $rpmpackage"
  fi
  done
  这里出现了第二个特殊的变量$*,该变量包含了所有输入的命令行参数值。
  如果您运行showrpm openssh.rpm w3m.rpm webgrep.rpm
  此时 $* 包含了 3 个字符串,即openssh.rpm, w3m.rpm and webgrep.rpm.
分享到:
评论

相关推荐

    Linux-shell脚本全面学习.pdf

    Linux Shell 脚本编程基础知识点总结 Linux 脚本编写基础 1.1 语法基本介绍 * `#!` 符号用来告诉系统它后面的参数是用来执行该文件的程序 * 在 Linux 中,使用 `/bin/sh` 来执行程序 * 编辑好脚本后,需要使其可...

    《Linux shell脚本全面学习》pdf版电子书

    ### Linux Shell脚本全面学习知识点概述 #### 一、Linux脚本编写基础 **1.1 语法基本介绍** **1.1.1 开头** - **解释**: 每个Shell脚本都需要以 `#!/bin/sh` 开始,这行被称为shebang,用于指示系统如何执行此...

    Linux shell脚本全面学习.doc

    Linux Shell脚本是一种强大的自动化工具,它允许用户编写一系列命令以执行特定任务,尤其是在Linux操作系统中。本篇文章将深入探讨Linux Shell脚本的基础知识,包括语法、变量、环境变量、命令以及流程控制。 首先...

    linux脚本shell学习笔记

    shell学习基本命令,可以帮助初学者快速掌握较全面的shell脚本知识

    Linux shell 脚本全面学习

    ### Linux Shell 脚本全面学习 #### 一、Linux脚本编写基础 ##### 1.1 语法基本介绍 **1.1.1 开头** - **Shebang**: 在 Linux shell 脚本中,第一行必须是 shebang 行,格式为 `#!/bin/sh` 或者 `#!/usr/bin/env...

    LINUX SHELL 脚本攻略

    本书的第三版包含了全面的Shell脚本知识,不仅适合初学者入门,也适合经验丰富的系统管理员和开发人员进一步提高。 Linux系统中常用的Shell类型有多种,例如bash、ksh、csh、zsh等,不同的Shell有不同的语法和特性...

    Linux shell 脚本攻略源代码第二版

    在IT领域,Linux Shell脚本是系统管理员和开发者日常工作中不可或缺的工具,它允许用户通过命令行接口自动化执行一系列任务。《Linux shell 脚本攻略-第二版》是一本深受赞誉的书籍,旨在帮助读者深入理解并掌握...

    Linux 命令与Shell 脚本编程pdf书籍

    《Linux命令行与Shell脚本编程大全》是一本专为Linux初学者编写的经典教材,旨在帮助读者深入理解和掌握Linux操作系统中的基本命令行操作以及Shell脚本编程技术。这本书全面覆盖了从基础到进阶的各种主题,对于想要...

    Linux-shell脚本全面学习.doc

    Linux Shell脚本全面学习 Shell脚本是Linux操作系统中一种强大的工具,用于自动化日常任务,进行文件管理和系统管理。在Linux环境中,shell脚本是一种基于文本的编程语言,它允许用户编写一系列命令,以实现批处理...

    Linux Shell 脚本攻略 中文 第三版和源码

    "Linux Shell 脚本攻略 中文 第三版和源码"提供了全面的学习资源,帮助你深入理解并熟练掌握Shell脚本编程。 首先,让我们了解什么是Linux Shell。Linux Shell是操作系统内核与用户交互的界面,它是命令行解释器,...

    Linux学习资料及shell脚本实例

    在IT领域,Linux操作系统及其相关的shell脚本编程是不可或缺的一部分,尤其对于系统管理员、开发者以及对计算机技术有深厚兴趣的学习者来说。这份“Linux学习资料及shell脚本实例”涵盖了Linux的基础知识和实用技巧...

    Linux-11shell脚本全面学习.docx

    Linux-11shell脚本全面学习.docx

    Linux-11shell脚本全面学习.pdf

    Linux-11shell脚本全面学习.pdf

Global site tag (gtag.js) - Google Analytics